[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16889187#comment-16889187 ] Hadoop QA commented on HADOOP-13617: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 6s{color} | {color:red} HADOOP-13617 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | HADOOP-13617 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12832334/HADOOP-13617.patch | | Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/16393/console | | Powered by | Apache Yetus 0.8.0 http://yetus.apache.org | This message was automatically generated. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16459861#comment-16459861 ] Jelmer Kuperus commented on HADOOP-13617: - Anything that I can do to help this along ? It really is just a one line patch > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16427485#comment-16427485 ] Steve Loughran commented on HADOOP-13617: - not this week, no, though I recognise I'm not in a position to feel that my own patches are neglected if I don't review others. but yes, looks like it's been around for a while, time to fix. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token:
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16427416#comment-16427416 ] Chris Douglas commented on HADOOP-13617: [~ste...@apache.org] do you have cycles for this? > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16426820#comment-16426820 ] ASF GitHub Bot commented on HADOOP-13617: - Github user natashaaboehm commented on the issue: https://github.com/apache/hadoop/pull/361 so what is the solution? > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16421732#comment-16421732 ] ASF GitHub Bot commented on HADOOP-13617: - GitHub user jelmerk opened a pull request: https://github.com/apache/hadoop/pull/361 fix for HADOOP-13617 You can merge this pull request into a Git repository by running: $ git pull https://github.com/jelmerk/hadoop HADOOP_13617 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/hadoop/pull/361.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #361 commit 50abaf4278c0d5179646610e93740db0719e7881 Author: Jelmer KuperusDate: 2018-04-01T16:56:42Z fix for HADOOP-13617 > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16415571#comment-16415571 ] genericqa commented on HADOOP-13617: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 5s{color} | {color:red} HADOOP-13617 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | HADOOP-13617 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12832334/HADOOP-13617.patch | | Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/14395/console | | Powered by | Apache Yetus 0.8.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16415569#comment-16415569 ] Jelmer Kuperus commented on HADOOP-13617: - Is there any reason why this change was not applied ? We ran into this and was a bit surprised to find a patch readily available in a ticket from sept 2016 I would really appreciate it if it could be merged > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15993949#comment-15993949 ] Hadoop QA commented on HADOOP-13617: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 9s{color} | {color:red} HADOOP-13617 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | HADOOP-13617 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12832334/HADOOP-13617.patch | | Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/12228/console | | Powered by | Apache Yetus 0.5.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15560980#comment-15560980 ] Hadoop QA commented on HADOOP-13617: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s{color} | {color:blue} Docker mode activated. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 51s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 13s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 15s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 16s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 23s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 13s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 11s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 10s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 10s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 12s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 14s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 9s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 27s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 10s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 10s{color} | {color:green} hadoop-openstack in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 15s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 12m 0s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:9560f25 | | JIRA Issue | HADOOP-13617 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12832334/HADOOP-13617.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle | | uname | Linux c4b8f40fc567 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / bea004e | | Default Java | 1.8.0_101 | | findbugs | v3.0.0 | | Test Results | https://builds.apache.org/job/PreCommit-HADOOP-Build/10717/testReport/ | | modules | C: hadoop-tools/hadoop-openstack U: hadoop-tools/hadoop-openstack | | Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/10717/console | | Powered by | Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Labels: patch > Fix For: 3.0.0-alpha1 > >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15552356#comment-15552356 ] Steve Yang commented on HADOOP-13617: - Sorry that we just use the jar file (e.g., hadoop-openstack-2.6.0.jar) and have no experience of handling a patch file. Is it possible to have a jar file generated from the patch where I can test it in our environment? Thank you. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token:
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15551150#comment-15551150 ] Yulei Li commented on HADOOP-13617: --- Have you tested the patch? > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Attachments: 2016_09_13.stderrout.log, HADOOP-13617.patch > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . >
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15536678#comment-15536678 ] Steve Yang commented on HADOOP-13617: - any update please? > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Attachments: 2016_09_13.stderrout.log > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15510063#comment-15510063 ] Steve Loughran commented on HADOOP-13617: - done > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Assignee: Yulei Li >Priority: Blocker > Attachments: 2016_09_13.stderrout.log > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15509186#comment-15509186 ] Yulei Li commented on HADOOP-13617: --- Could you assign this bug to me? Thank you. > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Priority: Blocker > Attachments: 2016_09_13.stderrout.log > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - HEAD > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/ > X-Newest: true > X-Auth-Token: AUTH_tk56bbb4d6fef57b7eeba7acae598f837c > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG
[jira] [Commented] (HADOOP-13617) Swift client retrying original request is using expired token after re-authentication
[ https://issues.apache.org/jira/browse/HADOOP-13617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15502936#comment-15502936 ] Steve Loughran commented on HADOOP-13617: - you are probably the first person to notice this; on the special case of failure during call. I suspect the retry code doesn't update the relevant headers. patches welcome, though there is a strict "declare your endpoint" policy for object store submissions, as Yetus & jenkins don't test them http://wiki.apache.org/hadoop/HowToContribute#Submitting_patches_against_object_stores_such_as_Amazon_S3.2C_OpenStack_Swift_and_Microsoft_Azure > Swift client retrying original request is using expired token after > re-authentication > -- > > Key: HADOOP-13617 > URL: https://issues.apache.org/jira/browse/HADOOP-13617 > Project: Hadoop Common > Issue Type: Bug > Components: fs/swift >Affects Versions: 2.6.0 > Environment: Linux EL6 >Reporter: Steve Yang >Priority: Blocker > Attachments: 2016_09_13.stderrout.log > > > library used: org.apache.hadoop:hadoop-openstack:2.6.0 > For long running Swift read operation (e.g., reading a large container), the > issued auth token has at most 30 minutes life span from Oracle Storage > Service. If the token expired in the middle of the read operation the > SwiftRestClient > (https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-tools/hadoop-openstack/src/main/java/org/apache/hadoop/fs/swift/http/SwiftRestClient.java#L1701) > re-authenticate and acquire a new auth token. However, in the retry request > the old, expired token is still used, causing the whole operation to fail. > Because of this bug any meaningful(i.e., long-running) Swift operation is not > possible. > Here is a summary of what happened with DEBUG logging turned on: > == > 1. initial token acquired which will expire on 19:56:44(PDT; UTC-4): > --- > 2016-09-13 19:52:37 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk2dd9d639bbb992089dca008123c3046f', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@af28493, > expires='2016-09-13T23:56:44Z'} > 2. token expiration and re-authentication: > -- > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - GET > https://em2.storage.oraclecloud.com/v1/Storage-paas132/allTaxi/?prefix=000182/=json=/ > X-Auth-Token: AUTH_tk2dd9d639bbb992089dca008123c3046f > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:44 WARN [pool-3-thread-1] HttpMethodDirector:697 - Unable > to respond to any of these challenges: {token=Token} > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 401 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1698 - > Reauthenticating > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1079 - started > authentication > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1228 - > Authenticating with Authenticate as tenant 'Storage-paas132' user > 'radha.sriniva...@oracle.com' with password of length 9 > 2016-09-13 19:56:44 DEBUG [pool-3-thread-1] SwiftRestClient:1727 - POST > https://em2.storage.oraclecloud.com/auth/v2.0/tokens > User-Agent: Apache Hadoop Swift Client 2.6.0-cdh5.7.1 from > ae44a8970a3f0da58d82e0fc65275fff8deabffd by jenkins source checksum > 298b68dc3b308983f04cb37e8416f13 > . > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1731 - Status > code = 200 > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1149 - Catalog > entry [swift: object-store]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1156 - Found > swift catalog as swift => object-store > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1169 - Endpoint > [US => https://em2.storage.oraclecloud.com/v1/Storage-paas132 / null]; > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:268 - setAuth: > endpoint=https://em2.storage.oraclecloud.com/v1/Storage-paas132; > objectURI=https://em2.storage.oraclecloud.com/object_endpoint/null; > token=AccessToken{id='AUTH_tk56bbb4d6fef57b7eeba7acae598f837c', > tenant=org.apache.hadoop.fs.swift.auth.entities.Tenant@4f03838d, > expires='2016-09-14T00:26:45Z'} > 2016-09-13 19:56:45 DEBUG [pool-3-thread-1] SwiftRestClient:1216 - > authenticated against https://em2.storage.oraclecloud.com/v1/Storage-paas132. > 2016-09-13