Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-615

jclouds does not re-auth on Swift early-token-expiry

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 1.7.3, 1.8.1
    • None
    • jclouds-blobstore
    • softlayer swift, also reported on hp swift

    Description

      I create a blobstore against swift in the usual way. It works for a while but then (after many hours) it starts to return 401 Unauthorized (again for many hours) and then it works again.

      It appears:

      • Jclouds does not re-negotiate the token immediately if it is expired server-side, but it does on cache expiry (from my observations)
      • Swift can sometimes expire tokens earlier than their advertised expiration date (according to [1])

      Desired behaviour: I think jclouds should attempt to re-negotiate the auth token if it gets an unauthorized exception using apparently-valid credentials.

      I've observed this against Softlayer [2]. I have also seen this reported against HP [1].

      We are looking at a workaround which retries in user space, also referenced at [2], but fixing this in jclouds would be great.

      I also note the cache expiry time is hard-coded at 23 hours. All the swifts I have seen claim 24h expiry time so this is okay most of the time, but it is a hack and not guaranteed. The REST response includes the expiry time explicitly so a related improvement I notice would be to use this (minus 1m or so...) when setting the cache value. (But the token can still expire sooner than this advertised expiry time – IOW the main bug reported here is independent of this cache expiry time issue.)

      [1] https://community.hpcloud.com/question/1477/about-authentication-token-expiration-when-using-jclouds-api-access-hpcs-object
      [2] https://issues.apache.org/jira/browse/BROOKLYN-6

      Attachments

        Activity

          People

            Unassigned Unassigned
            alex.heneveld Alex Heneveld
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: