ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Levas (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-22882) Long cannot be cast to String error when changing a user's password
Date Thu, 01 Feb 2018 19:35:00 GMT

     [ https://issues.apache.org/jira/browse/AMBARI-22882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robert Levas updated AMBARI-22882:
----------------------------------
    Status: Patch Available  (was: In Progress)

> Long cannot be cast to String error when changing a user's password
> -------------------------------------------------------------------
>
>                 Key: AMBARI-22882
>                 URL: https://issues.apache.org/jira/browse/AMBARI-22882
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.7.0
>            Reporter: Robert Levas
>            Assignee: Robert Levas
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 2.7.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Long cannot be cast to String error when changing a user's password:
> {noformat}
> 30 Jan 2018 18:21:11,308 ERROR [ambari-client-thread-38] AbstractResourceProvider:353
- Caught AmbariException when modifying a resource
> org.apache.ambari.server.AmbariException: java.lang.Long cannot be cast to java.lang.String
> at org.apache.ambari.server.controller.internal.UserResourceProvider.addOrUpdateLocalAuthenticationSource(UserResourceProvider.java:559)
> at org.apache.ambari.server.controller.internal.UserResourceProvider.updateUsers(UserResourceProvider.java:486)
> at org.apache.ambari.server.controller.internal.UserResourceProvider.access$200(UserResourceProvider.java:69)
> at org.apache.ambari.server.controller.internal.UserResourceProvider$3.invoke(UserResourceProvider.java:264)
> at org.apache.ambari.server.controller.internal.UserResourceProvider$3.invoke(UserResourceProvider.java:261)
> at org.apache.ambari.server.controller.internal.AbstractResourceProvider.invokeWithRetry(AbstractResourceProvider.java:465)
> at org.apache.ambari.server.controller.internal.AbstractResourceProvider.modifyResources(AbstractResourceProvider.java:346)
> at org.apache.ambari.server.controller.internal.UserResourceProvider.updateResources(UserResourceProvider.java:261)
> at org.apache.ambari.server.controller.internal.ClusterControllerImpl.updateResources(ClusterControllerImpl.java:317)
> ...
> {noformat}
> *Steps to reproduce*
>  # Create a {{LOCAL}} user account (using either the Ambari UI or REST API)
> {noformat}
> POST /api/v1/users
> {noformat}
> {code:title=Payload}
> { 
>   "Users" : {
>     "user_name" : "myuser",
>     "password" : "hadoop"
>   }
> }
> {code}
>  # Change the user's password (using either the Ambari UI or REST API via the users entry
point)
> {noformat}
> PUT /api/v1/users/myuser
> {noformat}
> {code:title=Payload}
> { 
>   "Users" : {
>     "old_password" : "hadoop"
>     "password" : "hadoop1234"
>   }
> }
> {code}
> {code:title=Response}
> {
>   "status" : 500,
>   "message" : "org.apache.ambari.server.controller.spi.SystemException: An internal system
exception occurred: java.lang.Long cannot be cast to java.lang.String"
> }
> {code}
> *Cause*
> When building the internal request to set the user's password via the UserAuthenticationSource
resource provider, the authentication source key is set as a {{Long}}. The UserAuthenticationSource
resource provider expects this value to be a {{String}}.
> *Solution*
> The User resource provider should set the {{AuthenticationSourceInfo/source_id}} as a
{{String}} value.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message