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

Sandor Magyari updated AMBARI-14322:
------------------------------------
    Description: 
This issue is reproducible in case when before clicking Sign out you will send 
many requests to server. This can be achieved by switching between different 
application sections that invokes a lot of GET requests.

Here is what is happening:
Click on Sign out button invokes the following request: URL: api/v1/logout 
response status code: 200

After this UI redirects to root of the site (http://HOST_IP:8080/) and to 
understand if we are logged in UI makes the following request:
URL: api/v1/clusters?fields=Clusters/provisioning_state, the response on this 
request with 403 error will lead us to http://HOST_IP:8080/#/login page, and 
response status 200 we treat as user is logged in and redirect him to 
#/main/dashboard/metrics.

The root case of this issue is that when we spam server with request and try to 
sign out calling call api/v1/logout, it actually does not logout on server 
because later when we call api/v1/clusters?fields=Clusters/provisioning_state 
we receive response with status 200 like user us still logged in.
UI hangs later, because when we were doing logout stuff, we dropped different 
properties thinking that we will be logged out. This inconsistency in data 
between UI and wrong server response 
api/v1/clusters?fields=Clusters/provisioning_state leads to such unpredictable 
behavior.


  was:
This issue is reproducible in case when before clicking Sign out you will send 
many requests to server. This can be achieved by switching between different 
application sections that invokes a lot of GET requests.
I attached two videos one with normal sign out, and one that is showing this 
issue.
Here is what is happening:
Click on Sign out button invokes the following request:
URL: api/v1/logout
response status code: 200
After this UI redirects to root of the site (http://HOST_IP:8080/) 
and to understand if we are logged in UI makes the following request:
URL: api/v1/clusters?fields=Clusters/provisioning_state, the response on this 
request with 403 error will lead us to http://HOST_IP:8080/#/login page, and 
response status 200 we treat as user is logged in and redirect him to 
#/main/dashboard/metrics.
The root case of this issue is that when we spam server with request and try to 
sign out calling call api/v1/logout, it actually does not logout on server 
because later when we call api/v1/clusters?fields=Clusters/provisioning_state 
we receive response with status 200 like user us still logged in.
UI hangs later, because when we were doing logout stuff, we dropped different 
properties thinking that we will be logged out. This inconsistency in data 
between UI and wrong server response 
api/v1/clusters?fields=Clusters/provisioning_state leads to such unpredictable 
behavior.


> Some times (rarely) login page does not load when sign out
> ----------------------------------------------------------
>
>                 Key: AMBARI-14322
>                 URL: https://issues.apache.org/jira/browse/AMBARI-14322
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.2.0
>            Reporter: Sandor Magyari
>            Assignee: Sandor Magyari
>            Priority: Critical
>             Fix For: 2.2.0
>
>         Attachments: AMBARI-14322.patch
>
>
> This issue is reproducible in case when before clicking Sign out you will 
> send many requests to server. This can be achieved by switching between 
> different application sections that invokes a lot of GET requests.
> Here is what is happening:
> Click on Sign out button invokes the following request: URL: api/v1/logout 
> response status code: 200
> After this UI redirects to root of the site (http://HOST_IP:8080/) and to 
> understand if we are logged in UI makes the following request:
> URL: api/v1/clusters?fields=Clusters/provisioning_state, the response on this 
> request with 403 error will lead us to http://HOST_IP:8080/#/login page, and 
> response status 200 we treat as user is logged in and redirect him to 
> #/main/dashboard/metrics.
> The root case of this issue is that when we spam server with request and try 
> to sign out calling call api/v1/logout, it actually does not logout on server 
> because later when we call api/v1/clusters?fields=Clusters/provisioning_state 
> we receive response with status 200 like user us still logged in.
> UI hangs later, because when we were doing logout stuff, we dropped different 
> properties thinking that we will be logged out. This inconsistency in data 
> between UI and wrong server response 
> api/v1/clusters?fields=Clusters/provisioning_state leads to such 
> unpredictable behavior.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to