jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "gpicavet (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JCLOUDS-1403) swift token not renewed with bulk api
Date Fri, 06 Apr 2018 12:32:00 GMT
gpicavet created JCLOUDS-1403:

             Summary: swift token not renewed with bulk api
                 Key: JCLOUDS-1403
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1403
             Project: jclouds
          Issue Type: Bug
    Affects Versions: 2.1.0
         Environment: debian 8 / openjdk 8
            Reporter: gpicavet


After some time using bulkApi with SwiftApi, no more objects will be created in swift . Moreover,
Response of extractArchive reports no error.

This problem seems to be correlated with token expiration.

There's no error using ObjectApi (token appears to be correctly renewed)


Here is the test case i used. (Swift Token expiration is set to 5 minutes, no object will
be created after this delai). 

import java.io.*;

import org.apache.commons.compress.archivers.tar.*;
import org.jclouds.*;
import org.jclouds.io.payloads.*;
import org.jclouds.openstack.swift.v1.*;
import org.jclouds.openstack.swift.v1.domain.*;
import org.jclouds.openstack.swift.v1.features.*;

public class TokenTestCaseBulk {
 public static void main(String[] args) throws Exception {
  try(SwiftApi swiftApi=ContextBuilder.newBuilder("openstack-swift")
        .buildApi(SwiftApi.class)) {

        String region = swiftApi.getConfiguredRegions().stream().findFirst().orElseThrow(()->new
RuntimeException("no region found"));

        for(int i=0;i<6*60000/5000;i++) {

                BulkApi bulkApi = swiftApi.getBulkApi(region);

                try(ByteArrayOutputStream os = new ByteArrayOutputStream();
                        TarArchiveOutputStream out = new TarArchiveOutputStream(os))

                byte[] data = new byte[]{0,0,0,0,0};

                TarArchiveEntry entry = new TarArchiveEntry("testbulk");

                Object res = bulkApi.extractArchive("test", new ByteArrayPayload(os.toByteArray()),

                System.out.format("%s - %s%n", new java.util.Date(), res);




This message was sent by Atlassian JIRA

View raw message