Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ERRORS] Issue with AWS SDK for java when adding a new feature flag to existing configuration Profile(short issue description) #5465

Closed
1 task done
prashanthparsi opened this issue Aug 5, 2024 · 10 comments
Assignees
Labels
guidance Question that needs advice or information. p2 This is a standard priority issue

Comments

@prashanthparsi
Copy link

prashanthparsi commented Aug 5, 2024

Upcoming End-of-Support

  • I acknowledge the upcoming end-of-support for AWS SDK for Java v1 was announced, and migration to AWS SDK for Java v2 is recommended.

Describe the bug

I have been trying to leverage AWS SDK for java for putting a new feature flag into the existing configuration profile. So far I have no luck in getting the code working. I tried multiple ways, read all the available AWS documentation (although its shame that there isn't much), but still I am unable to resolve the code issue. I debugged AWS SDK too, but no luck. I hope I can get resolution here. I tried with Python and Java SDK but both have same issue.

Here is the use case. I need to add a new flag to existing configuration. The below is test code from my local but production grade code yet. I just want to try out before I refactor it.

Expected Behavior

The feature flag should be persisted under the given application and configuration profile.

Current Behavior

software.amazon.awssdk.services.appconfig.model.BadRequestException: Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided (Service: AppConfig, Status Code: 400,

Reproduction Steps

Run the below code.

import com.fasterxml.jackson.databind.ObjectMapper;
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.http.apache.ProxyConfiguration;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.appconfig.AppConfigClient;
import software.amazon.awssdk.services.appconfig.model.CreateHostedConfigurationVersionRequest;
import software.amazon.awssdk.services.appconfig.model.CreateHostedConfigurationVersionResponse;
import software.amazon.awssdk.services.appconfig.model.StartDeploymentRequest;
import software.amazon.awssdk.services.appconfig.model.StartDeploymentResponse;
import software.amazon.awssdk.services.appconfigdata.AppConfigDataClient;
import software.amazon.awssdk.services.appconfigdata.model.GetLatestConfigurationRequest;
import software.amazon.awssdk.services.appconfigdata.model.GetLatestConfigurationResponse;
import software.amazon.awssdk.services.appconfigdata.model.StartConfigurationSessionRequest;
import software.amazon.awssdk.services.appconfigdata.model.StartConfigurationSessionResponse;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;

public class AppConfigWriteExample {

    private static final String APP_ID = "my_app_id";
    private static final String ENV_ID = "development";
    private static final String CONFIG_PROFILE_ID = "my_profile_id";
    private static final String CLIENT_ID = "feature-toggle-client";
    private static final String VERSION = "1.0"; // Add version here
    private static final Region REGION = Region.US_EAST_1;

    public static void main(String[] args) throws URISyntaxException, IOException {

        ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder()
                .endpoint(new URI("my_proxy_for_local_development"));

        ApacheHttpClient.Builder httpClientBuilder = ApacheHttpClient.builder()
                .proxyConfiguration(proxyConfig.build());

        AppConfigDataClient appConfigDataClient = AppConfigDataClient.builder()
                .region(REGION)
                .httpClientBuilder(httpClientBuilder)
                .credentialsProvider(ProfileCredentialsProvider.create("default"))
                .build();

        AppConfigClient appConfigClient = AppConfigClient.builder()
                .region(REGION)
                .httpClientBuilder(httpClientBuilder)
                .credentialsProvider(ProfileCredentialsProvider.create("default"))
                .build();

        try {
            // Start configuration session
            StartConfigurationSessionRequest startRequest = StartConfigurationSessionRequest.builder()
                    .applicationIdentifier(APP_ID)
                    .environmentIdentifier(ENV_ID)
                    .configurationProfileIdentifier(CONFIG_PROFILE_ID)
                    .build();

            StartConfigurationSessionResponse startResponse = appConfigDataClient.startConfigurationSession(startRequest);
            String sessionToken = startResponse.initialConfigurationToken();

            // Get latest configuration
            GetLatestConfigurationRequest getRequest = GetLatestConfigurationRequest.builder()
                    .configurationToken(sessionToken)
                    .build();

            GetLatestConfigurationResponse getResponse = appConfigDataClient.getLatestConfiguration(getRequest);
            String content = StandardCharsets.UTF_8.decode(getResponse.configuration().asByteBuffer()).toString();

            // Parse configuration
            ObjectMapper objectMapper = new ObjectMapper();
            Map<String, Object> config = objectMapper.readValue(content, Map.class);

            // Ensure the configuration matches the provided JSON schema and structure
            Map<String, Object> flags = (Map<String, Object>) config.getOrDefault("flags", new HashMap<>());
            Map<String, Object> values = (Map<String, Object>) config.getOrDefault("values", new HashMap<>());

            // Add or update the feature flags and their values
            Map<String, Object> flagFromUi = new HashMap<>();
            flagFromUi.put("name", "flag_from_ui");
            flagFromUi.put("description", "flag_from_ui");
            flagFromUi.put("_createdAt", "2024-08-05T19:55:27.399Z");
            flagFromUi.put("_updatedAt", "2024-08-05T19:55:27.399Z");
            flags.put("flag_from_ui", flagFromUi);

            Map<String, Object> flagFromUiValues = new HashMap<>();
            flagFromUiValues.put("enabled", true);
            flagFromUiValues.put("_createdAt", "2024-08-05T19:55:27.399Z");
            flagFromUiValues.put("_updatedAt", "2024-08-05T19:55:27.399Z");
            values.put("flag_from_ui", flagFromUiValues);

            Map<String, Object> uiRefresh = new HashMap<>();
            uiRefresh.put("name", "UI Refresh");
            uiRefresh.put("_createdAt", "2024-08-05T17:59:42.886Z");
            uiRefresh.put("_updatedAt", "2024-07-31T18:09:19.939Z");
            flags.put("ui_refresh", uiRefresh);

            Map<String, Object> uiRefreshValues = new HashMap<>();
            uiRefreshValues.put("enabled", false);
            uiRefreshValues.put("_createdAt", "2024-08-05T17:59:42.886Z");
            uiRefreshValues.put("_updatedAt", "2024-07-31T18:09:19.939Z");
            values.put("ui_refresh", uiRefreshValues);

            // Create configuration content matching the JSON schema
            Map<String, Object> configurationContent = new HashMap<>();
            configurationContent.put("version", "1");
            configurationContent.put("flags", flags);
            configurationContent.put("values", values);

            // Convert updated configuration back to JSON
            String updatedContent = objectMapper.writeValueAsString(configurationContent);

            // Validate updated configuration
            if (!isValidJson(updatedContent)) {
                throw new IllegalArgumentException("Invalid JSON content");
            }

            // Encode the updated content to Base64 using a similar method as the command line
            String base64EncodedContent = Base64.getEncoder().encodeToString(updatedContent.getBytes(StandardCharsets.UTF_8));

            // Create a new hosted configuration version
            CreateHostedConfigurationVersionRequest createHostedConfigRequest = CreateHostedConfigurationVersionRequest.builder()
                    .applicationId(APP_ID)
                    .configurationProfileId(CONFIG_PROFILE_ID)
                    .content(SdkBytes.fromByteArray(base64EncodedContent.getBytes(StandardCharsets.UTF_8)))
                    .contentType("application/json")
                    .build();

            CreateHostedConfigurationVersionResponse createHostedConfigResponse = appConfigClient.createHostedConfigurationVersion(createHostedConfigRequest);

            // Start deployment of the new configuration version
            StartDeploymentRequest startDeploymentRequest = StartDeploymentRequest.builder()
                    .applicationId(APP_ID)
                    .environmentId(ENV_ID)
                    .configurationProfileId(CONFIG_PROFILE_ID)
                    .configurationVersion(createHostedConfigResponse.versionNumber().toString())
                    .deploymentStrategyId("AppConfig.AllAtOnce") // Replace with your deployment strategy ID
                    .build();

            StartDeploymentResponse startDeploymentResponse = appConfigClient.startDeployment(startDeploymentRequest);
            System.out.println("Deployment started: " + startDeploymentResponse.deploymentNumber());

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            appConfigDataClient.close();
            appConfigClient.close();
        }
    }

    private static boolean isValidJson(String json) {
        try {
            final ObjectMapper mapper = new ObjectMapper();
            mapper.readTree(json);
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}

Possible Solution

No response

Additional Information/Context

I have been trying to leverage AWS SDK for java for putting a new feature flag into the existing configuration profile. So far I have no luck in getting the code working. I tried multiple ways, read all the available AWS documentation (although its shame that there isn't much), but still I am unable to resolve the code issue. I debugged AWS SDK too, but no luck. I hope I can get resolution here. I tried with Python and Java SDK but both have same issue.

Here is the use case. I need to add a new flag to existing configuration. The below is test code from my local but production grade code yet. I just want to try out before I refactor it.

Code running on Java 17 and AWS SDK V2

        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>appconfigdata</artifactId>
            <version>2.26.25</version>
        </dependency>
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>appconfig</artifactId>
            <version>2.26.25</version>
        </dependency>
Here is the code ->
import com.fasterxml.jackson.databind.ObjectMapper;
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.http.apache.ProxyConfiguration;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.appconfig.AppConfigClient;
import software.amazon.awssdk.services.appconfig.model.CreateHostedConfigurationVersionRequest;
import software.amazon.awssdk.services.appconfig.model.CreateHostedConfigurationVersionResponse;
import software.amazon.awssdk.services.appconfig.model.StartDeploymentRequest;
import software.amazon.awssdk.services.appconfig.model.StartDeploymentResponse;
import software.amazon.awssdk.services.appconfigdata.AppConfigDataClient;
import software.amazon.awssdk.services.appconfigdata.model.GetLatestConfigurationRequest;
import software.amazon.awssdk.services.appconfigdata.model.GetLatestConfigurationResponse;
import software.amazon.awssdk.services.appconfigdata.model.StartConfigurationSessionRequest;
import software.amazon.awssdk.services.appconfigdata.model.StartConfigurationSessionResponse;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;

public class AppConfigWriteExample {

    private static final String APP_ID = "my_app_id";
    private static final String ENV_ID = "development";
    private static final String CONFIG_PROFILE_ID = "my_profile_id";
    private static final String CLIENT_ID = "feature-toggle-client";
    private static final String VERSION = "1.0"; // Add version here
    private static final Region REGION = Region.US_EAST_1;

    public static void main(String[] args) throws URISyntaxException, IOException {

        ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder()
                .endpoint(new URI("my_proxy_for_local_development"));

        ApacheHttpClient.Builder httpClientBuilder = ApacheHttpClient.builder()
                .proxyConfiguration(proxyConfig.build());

        AppConfigDataClient appConfigDataClient = AppConfigDataClient.builder()
                .region(REGION)
                .httpClientBuilder(httpClientBuilder)
                .credentialsProvider(ProfileCredentialsProvider.create("default"))
                .build();

        AppConfigClient appConfigClient = AppConfigClient.builder()
                .region(REGION)
                .httpClientBuilder(httpClientBuilder)
                .credentialsProvider(ProfileCredentialsProvider.create("default"))
                .build();

        try {
            // Start configuration session
            StartConfigurationSessionRequest startRequest = StartConfigurationSessionRequest.builder()
                    .applicationIdentifier(APP_ID)
                    .environmentIdentifier(ENV_ID)
                    .configurationProfileIdentifier(CONFIG_PROFILE_ID)
                    .build();

            StartConfigurationSessionResponse startResponse = appConfigDataClient.startConfigurationSession(startRequest);
            String sessionToken = startResponse.initialConfigurationToken();

            // Get latest configuration
            GetLatestConfigurationRequest getRequest = GetLatestConfigurationRequest.builder()
                    .configurationToken(sessionToken)
                    .build();

            GetLatestConfigurationResponse getResponse = appConfigDataClient.getLatestConfiguration(getRequest);
            String content = StandardCharsets.UTF_8.decode(getResponse.configuration().asByteBuffer()).toString();

            // Parse configuration
            ObjectMapper objectMapper = new ObjectMapper();
            Map<String, Object> config = objectMapper.readValue(content, Map.class);

            // Ensure the configuration matches the provided JSON schema and structure
            Map<String, Object> flags = (Map<String, Object>) config.getOrDefault("flags", new HashMap<>());
            Map<String, Object> values = (Map<String, Object>) config.getOrDefault("values", new HashMap<>());

            // Add or update the feature flags and their values
            Map<String, Object> flagFromUi = new HashMap<>();
            flagFromUi.put("name", "flag_from_ui");
            flagFromUi.put("description", "flag_from_ui");
            flagFromUi.put("_createdAt", "2024-08-05T19:55:27.399Z");
            flagFromUi.put("_updatedAt", "2024-08-05T19:55:27.399Z");
            flags.put("flag_from_ui", flagFromUi);

            Map<String, Object> flagFromUiValues = new HashMap<>();
            flagFromUiValues.put("enabled", true);
            flagFromUiValues.put("_createdAt", "2024-08-05T19:55:27.399Z");
            flagFromUiValues.put("_updatedAt", "2024-08-05T19:55:27.399Z");
            values.put("flag_from_ui", flagFromUiValues);

            Map<String, Object> uiRefresh = new HashMap<>();
            uiRefresh.put("name", "UI Refresh");
            uiRefresh.put("_createdAt", "2024-08-05T17:59:42.886Z");
            uiRefresh.put("_updatedAt", "2024-07-31T18:09:19.939Z");
            flags.put("ui_refresh", uiRefresh);

            Map<String, Object> uiRefreshValues = new HashMap<>();
            uiRefreshValues.put("enabled", false);
            uiRefreshValues.put("_createdAt", "2024-08-05T17:59:42.886Z");
            uiRefreshValues.put("_updatedAt", "2024-07-31T18:09:19.939Z");
            values.put("ui_refresh", uiRefreshValues);

            // Create configuration content matching the JSON schema
            Map<String, Object> configurationContent = new HashMap<>();
            configurationContent.put("version", "1");
            configurationContent.put("flags", flags);
            configurationContent.put("values", values);

            // Convert updated configuration back to JSON
            String updatedContent = objectMapper.writeValueAsString(configurationContent);

            // Validate updated configuration
            if (!isValidJson(updatedContent)) {
                throw new IllegalArgumentException("Invalid JSON content");
            }

            // Encode the updated content to Base64 using a similar method as the command line
            String base64EncodedContent = Base64.getEncoder().encodeToString(updatedContent.getBytes(StandardCharsets.UTF_8));

            // Create a new hosted configuration version
            CreateHostedConfigurationVersionRequest createHostedConfigRequest = CreateHostedConfigurationVersionRequest.builder()
                    .applicationId(APP_ID)
                    .configurationProfileId(CONFIG_PROFILE_ID)
                    .content(SdkBytes.fromByteArray(base64EncodedContent.getBytes(StandardCharsets.UTF_8)))
                    .contentType("application/json")
                    .build();

            CreateHostedConfigurationVersionResponse createHostedConfigResponse = appConfigClient.createHostedConfigurationVersion(createHostedConfigRequest);

            // Start deployment of the new configuration version
            StartDeploymentRequest startDeploymentRequest = StartDeploymentRequest.builder()
                    .applicationId(APP_ID)
                    .environmentId(ENV_ID)
                    .configurationProfileId(CONFIG_PROFILE_ID)
                    .configurationVersion(createHostedConfigResponse.versionNumber().toString())
                    .deploymentStrategyId("AppConfig.AllAtOnce") // Replace with your deployment strategy ID
                    .build();

            StartDeploymentResponse startDeploymentResponse = appConfigClient.startDeployment(startDeploymentRequest);
            System.out.println("Deployment started: " + startDeploymentResponse.deploymentNumber());

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            appConfigDataClient.close();
            appConfigClient.close();
        }
    }

    private static boolean isValidJson(String json) {
        try {
            final ObjectMapper mapper = new ObjectMapper();
            mapper.readTree(json);
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}

Here is the actual json it converts to, which matches with AWS Schema: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html

{
    "values":
    {
        "flag_from_ui":
        {
            "_createdAt": "2024-08-05T19:55:27.399Z",
            "_updatedAt": "2024-08-05T19:55:27.399Z",
            "enabled": true
        },
        "ui_refresh":
        {
            "_createdAt": "2024-08-05T17:59:42.886Z",
            "_updatedAt": "2024-07-31T18:09:19.939Z",
            "enabled": false
        }
    },
    "flags":
    {
        "flag_from_ui":
        {
            "_createdAt": "2024-08-05T19:55:27.399Z",
            "name": "flag_from_ui",
            "description": "flag_from_ui",
            "_updatedAt": "2024-08-05T19:55:27.399Z"
        },
        "ui_refresh":
        {
            "_createdAt": "2024-08-05T17:59:42.886Z",
            "name": "UI Refresh",
            "_updatedAt": "2024-07-31T18:09:19.939Z"
        }
    },
    "version": "1"
}

Here is the error I am getting while running this code ->

software.amazon.awssdk.services.appconfig.model.BadRequestException: Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided (Service: AppConfig, Status Code: 400, 
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleErrorResponse(CombinedResponseHandler.java:125)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleResponse(CombinedResponseHandler.java:82)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:60)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:41)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:50)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:38)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:72)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:55)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:39)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.executeRequest(RetryableStage2.java:93)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:56)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:36)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
	at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
	at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
	at software.amazon.awssdk.services.appconfig.DefaultAppConfigClient.createHostedConfigurationVersion(DefaultAppConfigClient.java:856)
	at com.adp.talent.AppConfigWriteExample.main(AppConfigWriteExample.java:135)
16:24:39.000 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager is shutting down
16:24:39.001 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
16:24:39.003 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager shut down
16:24:39.003 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager is shutting down
16:24:39.003 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-1: Close connection
16:24:39.003 [idle-connection-reaper] DEBUG software.amazon.awssdk.http.apache.internal.conn.IdleConnectionReaper - Reaper thread: 
java.lang.InterruptedException: sleep interrupted
	at java.base/java.lang.Thread.sleep(Native Method)
	at software.amazon.awssdk.http.apache.internal.conn.IdleConnectionReaper$ReaperTask.run(IdleConnectionReaper.java:151)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
16:24:39.003 [idle-connection-reaper] DEBUG software.amazon.awssdk.http.apache.internal.conn.IdleConnectionReaper - Shutting down reaper thread.
16:24:39.003 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager shut down
software.amazon.awssdk.services.appconfig.model.BadRequestException: Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided (Service: AppConfig, Status Code: 400, Request ID: 77a3dd33-56cc-4048-997d-0ab517db94f8)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleErrorResponse(CombinedResponseHandler.java:125)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleResponse(CombinedResponseHandler.java:82)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:60)
	at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:41)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:50)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:38)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:72)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:55)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:39)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.executeRequest(RetryableStage2.java:93)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:56)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:36)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
	at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
	at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
	at software.amazon.awssdk.services.appconfig.DefaultAppConfigClient.createHostedConfigurationVersion(DefaultAppConfigClient.java:856)
	at com.adp.talent.AppConfigWriteExample.main(AppConfigWriteExample.java:135)

Any help or pointers will unblock me. Need ASAP

AWS Java SDK version used

2.26.25

JDK version used

java version "17.0.4.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment (build 17.0.4.1+1-LTS-2)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.4.1+1-LTS-2, mixed mode, sharing)

Operating System and version

macOS Sonama 14.5

@prashanthparsi prashanthparsi added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Aug 5, 2024
@debora-ito
Copy link
Member

Transferring to the Java SDK v2 repo.

@debora-ito debora-ito transferred this issue from aws/aws-sdk-java Aug 5, 2024
@prashanthparsi
Copy link
Author

Transferring to the Java SDK v2 repo.

@debora-ito Can you send me the link of the thread after transfer or this is the thread I need to watch out? Also, this is Java SDK v2 right?

@debora-ito debora-ito self-assigned this Aug 8, 2024
@debora-ito
Copy link
Member

@prashanthparsi can you generate the verbose wirelogs? Maybe we can see the reason why the content is malformed.

Refer to our Dev Guide for instructions - https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/logging-slf4j.html#sdk-java-logging-verbose

@debora-ito debora-ito added response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 10 days. p2 This is a standard priority issue and removed needs-triage This issue or PR still needs to be triaged. labels Aug 8, 2024
@prashanthparsi
Copy link
Author

prashanthparsi commented Aug 9, 2024

Not much info from the verbose logs either

11:04:14.675 [main] DEBUG software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain - Creating an interceptor chain that will apply interceptors in the following order: [software.amazon.awssdk.core.internal.interceptor.HttpChecksumValidationInterceptor@16ecee1, software.amazon.awssdk.awscore.interceptor.HelpfulUnknownHostExceptionInterceptor@3b220bcb, software.amazon.awssdk.awscore.eventstream.EventStreamInitialRequestInterceptor@2b95e48b, software.amazon.awssdk.awscore.interceptor.TraceIdExecutionInterceptor@4a3329b9, software.amazon.awssdk.services.appconfigdata.auth.scheme.internal.AppConfigDataAuthSchemeInterceptor@3dddefd8, software.amazon.awssdk.services.appconfigdata.endpoints.internal.AppConfigDataResolveEndpointInterceptor@160ac7fb, software.amazon.awssdk.services.appconfigdata.endpoints.internal.AppConfigDataRequestSetEndpointInterceptor@12bfd80d]
11:04:14.698 [main] DEBUG software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain - Interceptor 'software.amazon.awssdk.services.appconfigdata.endpoints.internal.AppConfigDataRequestSetEndpointInterceptor@12bfd80d' modified the message with its modifyHttpRequest method.
11:04:14.714 [main] DEBUG software.amazon.awssdk.retries.LegacyRetryStrategy - Request attempt 1 token acquired (backoff: 0ms, cost: 0, capacity: 500/500)
11:04:14.716 [main] DEBUG software.amazon.awssdk.request - Sending Request: DefaultSdkHttpFullRequest(httpMethod=POST, protocol=https, host=appconfigdata.us-east-1.amazonaws.com, encodedPath=/configurationsessions, headers=[amz-sdk-invocation-id, Content-Length, Content-Type, User-Agent], queryParameters=[])
11:04:14.716 [main] DEBUG software.amazon.awssdk.core.internal.http.pipeline.stages.SigningStage - Using SelectedAuthScheme: aws.auth#sigv4
11:04:14.726 [main] DEBUG software.amazon.awssdk.core.internal.io.SdkLengthAwareInputStream - Specified InputStream length of 116 has been reached. Returning EOF.
11:04:14.730 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 Canonical Request: POST
/configurationsessions

amz-sdk-invocation-id:d1b2b863-d7e5-603f-a8a3-6a92d8fe41d0
amz-sdk-request:attempt=1; max=4
content-length:116
content-type:application/json
host:appconfigdata.us-east-1.amazonaws.com
x-amz-content-sha256:6696dc56df47e3fe1afb827925edddad6bf3198db364f41cdad65b269000b3cc
x-amz-date:20240809T150414Z
x-amz-security-token:"xxx"

amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token
6696dc56df47e3fe1afb827925edddad6bf3198db364f41cdad65b269000b3cc
11:04:14.731 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 Canonical Request Hash: dec588744578334fcdfdc06c47efc7afb2fbbda0e1abed47ab6410b1cd6b7df9
11:04:14.731 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 String to sign: AWS4-HMAC-SHA256
20240809T150414Z
20240809/us-east-1/appconfig/aws4_request
dec588744578334fcdfdc06c47efc7afb2fbbda0e1abed47ab6410b1cd6b7df9
11:04:14.741 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
11:04:14.743 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
11:04:14.744 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443][total available: 0; route allocated: 0 of 50; total allocated: 0 of 50]
11:04:14.747 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443][total available: 0; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:14.748 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening connection {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443
11:04:14.753 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connecting to usproxy.es.oneadp.com/11.0.6.39:8080
11:04:14.760 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connection established 26.16.255.140:62871<->11.0.6.39:8080
11:04:14.760 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> CONNECT appconfigdata.us-east-1.amazonaws.com:443 HTTP/1.1
11:04:14.760 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: appconfigdata.us-east-1.amazonaws.com
11:04:14.760 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent:
11:04:14.761 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "CONNECT appconfigdata.us-east-1.amazonaws.com:443 HTTP/1.1[\r][\n]"
11:04:14.761 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: appconfigdata.us-east-1.amazonaws.com[\r][\n]"
11:04:14.761 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: [\r][\n]"
11:04:14.761 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
11:04:14.858 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 Connection established[\r][\n]"
11:04:14.859 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Proxy-Agent: Fortinet-Proxy/1.0[\r][\n]"
11:04:14.859 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
11:04:14.859 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 Connection established
11:04:14.859 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Proxy-Agent: Fortinet-Proxy/1.0
11:04:14.859 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Tunnel to target created.
11:04:14.891 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Enabled protocols: [TLSv1.3, TLSv1.2]
11:04:14.891 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Enabled cipher suites:[TLS_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
11:04:14.892 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - socket.getSupportedProtocols(): [TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello], socket.getEnabledProtocols(): [TLSv1.3, TLSv1.2]
11:04:14.892 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Starting handshake
11:04:15.003 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Secure session established
11:04:15.003 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - negotiated protocol: TLSv1.3
11:04:15.003 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - negotiated cipher suite: TLS_AES_128_GCM_SHA256
11:04:15.003 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - peer principal: CN=appconfigdata.us-east-1.amazonaws.com
11:04:15.003 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - peer alternative names: [*.appconfigdata.us-east-1.vpce.amazonaws.com, appconfigdata-fips.us-east-1.amazonaws.com, appconfigdata.us-east-1.amazonaws.com]
11:04:15.003 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - issuer principal: CN=Amazon RSA 2048 M01, O=Amazon, C=US
11:04:15.004 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: set socket timeout to 30000
11:04:15.005 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request POST /configurationsessions HTTP/1.1
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST /configurationsessions HTTP/1.1
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: appconfigdata.us-east-1.amazonaws.com
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-invocation-id: d1b2b863-d7e5-603f-a8a3-6a92d8fe41d0
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-request: attempt=1; max=4
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=a2361602e0750c47ef6bcc8481c81ff4bf0b20ec74b5f0db387d7841638b86d0
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Type: application/json
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> x-amz-content-sha256: 6696dc56df47e3fe1afb827925edddad6bf3198db364f41cdad65b269000b3cc
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> X-Amz-Date: 20240809T150414Z
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> X-Amz-Security-Token: "xxx"
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Length: 116
11:04:15.005 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "POST /configurationsessions HTTP/1.1[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: appconfigdata.us-east-1.amazonaws.com[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-invocation-id: d1b2b863-d7e5-603f-a8a3-6a92d8fe41d0[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-request: attempt=1; max=4[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=a2361602e0750c47ef6bcc8481c81ff4bf0b20ec74b5f0db387d7841638b86d0[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Type: application/json[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "x-amz-content-sha256: 6696dc56df47e3fe1afb827925edddad6bf3198db364f41cdad65b269000b3cc[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Date: 20240809T150414Z[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Security-Token: ""
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Length: 116[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
11:04:15.005 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "{"ApplicationIdentifier":"ppnhs4v","EnvironmentIdentifier":"development","ConfigurationProfileIdentifier":"vssweot"}"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 201 Created[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amzn-RequestId: a7b5a75b-85e0-4e76-9010-1b3377c8ebf0[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Fri, 09 Aug 2024 15:04:14 GMT[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 1136[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "connection: keep-alive[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
11:04:15.074 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 201 Created
11:04:15.074 [main] DEBUG org.apache.http.headers - http-outgoing-0 << x-amzn-RequestId: a7b5a75b-85e0-4e76-9010-1b3377c8ebf0
11:04:15.074 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Fri, 09 Aug 2024 15:04:14 GMT
11:04:15.074 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: application/json
11:04:15.074 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 1136
11:04:15.074 [main] DEBUG org.apache.http.headers - http-outgoing-0 << connection: keep-alive
11:04:15.076 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be kept alive for 60000 MILLISECONDS
11:04:15.078 [main] DEBUG software.amazon.awssdk.requestId - Received successful response: 201, Request ID: a7b5a75b-85e0-4e76-9010-1b3377c8ebf0, Extended Request ID: not available
11:04:15.078 [main] DEBUG software.amazon.awssdk.request - Received successful response: 201, Request ID: a7b5a75b-85e0-4e76-9010-1b3377c8ebf0, Extended Request ID: not available
11:04:15.082 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "{"InitialConfigurationToken":"AYADeBSdLwJd4UMbH3Wo+HiVcnQAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL/LdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX+Mn67BAgEQgDtrN2YGmjrjqoe+qTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX+ZWbbX4r/OIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAABYLSnXuyRyp55GlNeaJwgy/////wAAAAEAAAAAAAAAAAAAAAEAAAD8xnYhlrDHZ1FSa4QFUkCNlDLGwmJMJ7EHQFNwQtoqFlmYiZHQZ5wDQE2T0o69Oe0dWX5Eeq/LrvKOawJF9u2RdXjFh3/RK7w2+lejXrgsF32zzQr0QU5Q0ddxRiB1X0/sqOGVctejBJsFOR2XmlaaFngNAoz76asKYkD2ZOoCq0++K7ILBGOfPhl2zhHGSVW4ogvqYG5lzNPSwa3PA9Xuo1DFn7HDMuzUiw+jgqpY9PngHuwo7ffjNNsY7vzcrENotRNjKefDE0qS8l2fKPvKj0/9f/9BC/sHM4D4vuYxg6h8SxibHxd5gXnyR1FkivZhh54AF0xmBuUOXxNdVYF093D1MkNPs8bmc+G1YQBnMGUCMEQhM7CNQ0TX1ANvFgW+bvc04fdHt0pfm0q+EmdLtQkCA0Gw1b0Y8YpsyFlxyPmpngIxALCFLnuyPCOUbSuVDiPIl0sXNxqrmHRHMWGs3S1buLrEF4eatYaP2DlXV8pLfToHdQ=="}"
11:04:15.086 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 0][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443] can be kept alive for 60.0 seconds
11:04:15.086 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: set socket timeout to 0
11:04:15.086 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443][total available: 1; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:15.088 [main] DEBUG software.amazon.awssdk.retries.LegacyRetryStrategy - Request attempt 1 succeeded (cost: -1, capacity: 500/500)
11:04:15.090 [main] DEBUG software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain - Creating an interceptor chain that will apply interceptors in the following order: [software.amazon.awssdk.core.internal.interceptor.HttpChecksumValidationInterceptor@16ecee1, software.amazon.awssdk.awscore.interceptor.HelpfulUnknownHostExceptionInterceptor@3b220bcb, software.amazon.awssdk.awscore.eventstream.EventStreamInitialRequestInterceptor@2b95e48b, software.amazon.awssdk.awscore.interceptor.TraceIdExecutionInterceptor@4a3329b9, software.amazon.awssdk.services.appconfigdata.auth.scheme.internal.AppConfigDataAuthSchemeInterceptor@3dddefd8, software.amazon.awssdk.services.appconfigdata.endpoints.internal.AppConfigDataResolveEndpointInterceptor@160ac7fb, software.amazon.awssdk.services.appconfigdata.endpoints.internal.AppConfigDataRequestSetEndpointInterceptor@12bfd80d]
11:04:15.090 [main] DEBUG software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain - Interceptor 'software.amazon.awssdk.services.appconfigdata.endpoints.internal.AppConfigDataRequestSetEndpointInterceptor@12bfd80d' modified the message with its modifyHttpRequest method.
11:04:15.091 [main] DEBUG software.amazon.awssdk.retries.LegacyRetryStrategy - Request attempt 1 token acquired (backoff: 0ms, cost: 0, capacity: 500/500)
11:04:15.091 [main] DEBUG software.amazon.awssdk.request - Sending Request: DefaultSdkHttpFullRequest(httpMethod=GET, protocol=https, host=appconfigdata.us-east-1.amazonaws.com, encodedPath=/configuration, headers=[amz-sdk-invocation-id, User-Agent], queryParameters=[configuration_token])
11:04:15.091 [main] DEBUG software.amazon.awssdk.core.internal.http.pipeline.stages.SigningStage - Using SelectedAuthScheme: aws.auth#sigv4
11:04:15.092 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 Canonical Request: GET
/configuration
configuration_token=AYADeBSdLwJd4UMbH3Wo%2BHiVcnQAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL%2FLdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX%2BMn67BAgEQgDtrN2YGmjrjqoe%2BqTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX%2BZWbbX4r%2FOIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAABYLSnXuyRyp55GlNeaJwgy%2F%2F%2F%2F%2FwAAAAEAAAAAAAAAAAAAAAEAAAD8xnYhlrDHZ1FSa4QFUkCNlDLGwmJMJ7EHQFNwQtoqFlmYiZHQZ5wDQE2T0o69Oe0dWX5Eeq%2FLrvKOawJF9u2RdXjFh3%2FRK7w2%2BlejXrgsF32zzQr0QU5Q0ddxRiB1X0%2FsqOGVctejBJsFOR2XmlaaFngNAoz76asKYkD2ZOoCq0%2B%2BK7ILBGOfPhl2zhHGSVW4ogvqYG5lzNPSwa3PA9Xuo1DFn7HDMuzUiw%2BjgqpY9PngHuwo7ffjNNsY7vzcrENotRNjKefDE0qS8l2fKPvKj0%2F9f%2F9BC%2FsHM4D4vuYxg6h8SxibHxd5gXnyR1FkivZhh54AF0xmBuUOXxNdVYF093D1MkNPs8bmc%2BG1YQBnMGUCMEQhM7CNQ0TX1ANvFgW%2Bbvc04fdHt0pfm0q%2BEmdLtQkCA0Gw1b0Y8YpsyFlxyPmpngIxALCFLnuyPCOUbSuVDiPIl0sXNxqrmHRHMWGs3S1buLrEF4eatYaP2DlXV8pLfToHdQ%3D%3D
amz-sdk-invocation-id:5b92d611-e189-e097-e8d6-3434f89f27b6
amz-sdk-request:attempt=1; max=4
host:appconfigdata.us-east-1.amazonaws.com
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20240809T150415Z
x-amz-security-token:"xxx"

amz-sdk-invocation-id;amz-sdk-request;host;x-amz-content-sha256;x-amz-date;x-amz-security-token
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
11:04:15.093 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 Canonical Request Hash: 4754b137a8e1c003be5ca60a6612d87fe882602dd86ba79438fa7ceaf0df5ca6
11:04:15.093 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 String to sign: AWS4-HMAC-SHA256
20240809T150415Z
20240809/us-east-1/appconfig/aws4_request
4754b137a8e1c003be5ca60a6612d87fe882602dd86ba79438fa7ceaf0df5ca6
11:04:15.094 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
11:04:15.094 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
11:04:15.094 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443][total available: 1; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:15.094 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443][total available: 0; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:15.094 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: set socket timeout to 30000
11:04:15.094 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: set socket timeout to 30000
11:04:15.094 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request GET /configuration?configuration_token=AYADeBSdLwJd4UMbH3Wo%2BHiVcnQAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL%2FLdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX%2BMn67BAgEQgDtrN2YGmjrjqoe%2BqTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX%2BZWbbX4r%2FOIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAABYLSnXuyRyp55GlNeaJwgy%2F%2F%2F%2F%2FwAAAAEAAAAAAAAAAAAAAAEAAAD8xnYhlrDHZ1FSa4QFUkCNlDLGwmJMJ7EHQFNwQtoqFlmYiZHQZ5wDQE2T0o69Oe0dWX5Eeq%2FLrvKOawJF9u2RdXjFh3%2FRK7w2%2BlejXrgsF32zzQr0QU5Q0ddxRiB1X0%2FsqOGVctejBJsFOR2XmlaaFngNAoz76asKYkD2ZOoCq0%2B%2BK7ILBGOfPhl2zhHGSVW4ogvqYG5lzNPSwa3PA9Xuo1DFn7HDMuzUiw%2BjgqpY9PngHuwo7ffjNNsY7vzcrENotRNjKefDE0qS8l2fKPvKj0%2F9f%2F9BC%2FsHM4D4vuYxg6h8SxibHxd5gXnyR1FkivZhh54AF0xmBuUOXxNdVYF093D1MkNPs8bmc%2BG1YQBnMGUCMEQhM7CNQ0TX1ANvFgW%2Bbvc04fdHt0pfm0q%2BEmdLtQkCA0Gw1b0Y8YpsyFlxyPmpngIxALCFLnuyPCOUbSuVDiPIl0sXNxqrmHRHMWGs3S1buLrEF4eatYaP2DlXV8pLfToHdQ%3D%3D HTTP/1.1
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> GET /configuration?configuration_token=AYADeBSdLwJd4UMbH3Wo%2BHiVcnQAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL%2FLdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX%2BMn67BAgEQgDtrN2YGmjrjqoe%2BqTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX%2BZWbbX4r%2FOIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAABYLSnXuyRyp55GlNeaJwgy%2F%2F%2F%2F%2FwAAAAEAAAAAAAAAAAAAAAEAAAD8xnYhlrDHZ1FSa4QFUkCNlDLGwmJMJ7EHQFNwQtoqFlmYiZHQZ5wDQE2T0o69Oe0dWX5Eeq%2FLrvKOawJF9u2RdXjFh3%2FRK7w2%2BlejXrgsF32zzQr0QU5Q0ddxRiB1X0%2FsqOGVctejBJsFOR2XmlaaFngNAoz76asKYkD2ZOoCq0%2B%2BK7ILBGOfPhl2zhHGSVW4ogvqYG5lzNPSwa3PA9Xuo1DFn7HDMuzUiw%2BjgqpY9PngHuwo7ffjNNsY7vzcrENotRNjKefDE0qS8l2fKPvKj0%2F9f%2F9BC%2FsHM4D4vuYxg6h8SxibHxd5gXnyR1FkivZhh54AF0xmBuUOXxNdVYF093D1MkNPs8bmc%2BG1YQBnMGUCMEQhM7CNQ0TX1ANvFgW%2Bbvc04fdHt0pfm0q%2BEmdLtQkCA0Gw1b0Y8YpsyFlxyPmpngIxALCFLnuyPCOUbSuVDiPIl0sXNxqrmHRHMWGs3S1buLrEF4eatYaP2DlXV8pLfToHdQ%3D%3D HTTP/1.1
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: appconfigdata.us-east-1.amazonaws.com
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-invocation-id: 5b92d611-e189-e097-e8d6-3434f89f27b6
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-request: attempt=1; max=4
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=4803426a6ad9c165d0cfc74c738f04057facd9a6097b55eb7e35d46b8fad812d
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
11:04:15.094 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> X-Amz-Date: 20240809T150415Z
11:04:15.095 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> X-Amz-Security-Token: "xxx"
11:04:15.095 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "GET /configuration?configuration_token=AYADeBSdLwJd4UMbH3Wo%2BHiVcnQAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL%2FLdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX%2BMn67BAgEQgDtrN2YGmjrjqoe%2BqTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX%2BZWbbX4r%2FOIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAABYLSnXuyRyp55GlNeaJwgy%2F%2F%2F%2F%2FwAAAAEAAAAAAAAAAAAAAAEAAAD8xnYhlrDHZ1FSa4QFUkCNlDLGwmJMJ7EHQFNwQtoqFlmYiZHQZ5wDQE2T0o69Oe0dWX5Eeq%2FLrvKOawJF9u2RdXjFh3%2FRK7w2%2BlejXrgsF32zzQr0QU5Q0ddxRiB1X0%2FsqOGVctejBJsFOR2XmlaaFngNAoz76asKYkD2ZOoCq0%2B%2BK7ILBGOfPhl2zhHGSVW4ogvqYG5lzNPSwa3PA9Xuo1DFn7HDMuzUiw%2BjgqpY9PngHuwo7ffjNNsY7vzcrENotRNjKefDE0qS8l2fKPvKj0%2F9f%2F9BC%2FsHM4D4vuYxg6h8SxibHxd5gXnyR1FkivZhh54AF0xmBuUOXxNdVYF093D1MkNPs8bmc%2BG1YQBnMGUCMEQhM7CNQ0TX1ANvFgW%2Bbvc04fdHt0pfm0q%2BEmdLtQkCA0Gw1b0Y8YpsyFlxyPmpngIxALCFLnuyPCOUbSuVDiPIl0sXNxqrmHRHMWGs3S1buLrEF4eatYaP2DlXV8pLfToHdQ%3D%3D HTTP/1.1[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: appconfigdata.us-east-1.amazonaws.com[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-invocation-id: 5b92d611-e189-e097-e8d6-3434f89f27b6[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-request: attempt=1; max=4[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=4803426a6ad9c165d0cfc74c738f04057facd9a6097b55eb7e35d46b8fad812d[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Date: 20240809T150415Z[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Security-Token: "xxx"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
11:04:15.095 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amzn-RequestId: a694f4a3-9861-4372-b08f-7bfb5c91e657[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Next-Poll-Interval-In-Seconds: 60[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Next-Poll-Configuration-Token: AYADeP2r3V6If/qnpH8JBAqa9EEAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL/LdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX+Mn67BAgEQgDtrN2YGmjrjqoe+qTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX+ZWbbX4r/OIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAAAv0Ld6t8AblJKRh0lCH42m/////wAAAAEAAAAAAAAAAAAAAAEAAAEZcd8Renm5z8tq5u/qSeuz9/7NsVDl5s64PE0ZZp0MSh0BXx0Ok1mOJtgCNMgp896dDppuqMMc9BIk+Ot6TdBg8FH1IAEyVlGgPwLt7aOrx9quv5bQPYNctjMNyw5Ac14xFIgb0eV1FPiZuNRnnY5ElZ8qLRoU4zSkJGSyy/0UHX4gANTstmXDchb6xZ7UhR40lOVLZYcqat+ID2hiXDzIXE0LrkC0dzIWDIfW++vOfqWOHz7ob7mXzGtCz/Pc5z6uYe6M1/riAH825lR5lr6CEoip3UWMe71is7ZOaZz3WfSl0eNFnUhA+eK0/V+ngel/zwpsj/DtiLV+1a+0+26s2c6Xrxf+IOf+30Pv6AJ3KWePpERKz8ZnShIndrrPjy9gL16qC5jQe260AGcwZQIwaJa9lew+SRZTpyFIfbixyqnX8FhufkBh2+HcuXQmIT2Z4t34JcwrdeGZRlBRU6oHAjEApBS3MPXul09hJtA0DkMppk+N+BwTdovYZxAzwkjdKC06lNkVmkAoJEJ0X1uHRKxh[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Fri, 09 Aug 2024 15:04:15 GMT[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 63[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "connection: keep-alive[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << x-amzn-RequestId: a694f4a3-9861-4372-b08f-7bfb5c91e657
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Next-Poll-Interval-In-Seconds: 60
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Next-Poll-Configuration-Token: AYADeP2r3V6If/qnpH8JBAqa9EEAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvb3lEWjZRSlJPa3J2MGg3VEwwanduZGZMeFhZYnZjMmVvYjExdXVXQ1ZQa2paM3gvRHFoWWpaTms2cFVHWUQ5UT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo0NjA2NzgyNDcwMDI6a2V5LzRhOTNiN2Y4LWQzOWYtNDUyNi1hMWNhLWM5ZDRkMGNiMWE5ZgC4AQIBAHhvzEOTo5n6BlPpKEJ5SbeIGnc8WvdL/LdiKsAWa9SGagGKLuKd3eNdoKYIYRQSO5ioAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMoewCBYc9IX+Mn67BAgEQgDtrN2YGmjrjqoe+qTAbkL8sexCK9kkBnHcb6C9eklHpOGtQe2HNXGSUjHhYhh5q3VX+ZWbbX4r/OIm6IgIAAAAADAAAEAAAAAAAAAAAAAAAAAAv0Ld6t8AblJKRh0lCH42m/////wAAAAEAAAAAAAAAAAAAAAEAAAEZcd8Renm5z8tq5u/qSeuz9/7NsVDl5s64PE0ZZp0MSh0BXx0Ok1mOJtgCNMgp896dDppuqMMc9BIk+Ot6TdBg8FH1IAEyVlGgPwLt7aOrx9quv5bQPYNctjMNyw5Ac14xFIgb0eV1FPiZuNRnnY5ElZ8qLRoU4zSkJGSyy/0UHX4gANTstmXDchb6xZ7UhR40lOVLZYcqat+ID2hiXDzIXE0LrkC0dzIWDIfW++vOfqWOHz7ob7mXzGtCz/Pc5z6uYe6M1/riAH825lR5lr6CEoip3UWMe71is7ZOaZz3WfSl0eNFnUhA+eK0/V+ngel/zwpsj/DtiLV+1a+0+26s2c6Xrxf+IOf+30Pv6AJ3KWePpERKz8ZnShIndrrPjy9gL16qC5jQe260AGcwZQIwaJa9lew+SRZTpyFIfbixyqnX8FhufkBh2+HcuXQmIT2Z4t34JcwrdeGZRlBRU6oHAjEApBS3MPXul09hJtA0DkMppk+N+BwTdovYZxAzwkjdKC06lNkVmkAoJEJ0X1uHRKxh
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Fri, 09 Aug 2024 15:04:15 GMT
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: application/json
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 63
11:04:15.224 [main] DEBUG org.apache.http.headers - http-outgoing-0 << connection: keep-alive
11:04:15.224 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be kept alive for 60000 MILLISECONDS
11:04:15.225 [main] DEBUG software.amazon.awssdk.requestId - Received successful response: 200, Request ID: a694f4a3-9861-4372-b08f-7bfb5c91e657, Extended Request ID: not available
11:04:15.225 [main] DEBUG software.amazon.awssdk.request - Received successful response: 200, Request ID: a694f4a3-9861-4372-b08f-7bfb5c91e657, Extended Request ID: not available
11:04:15.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "{"ui_refresh":{"enabled":false},"ui_rollback":{"enabled":true}}"
11:04:15.226 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 0][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443] can be kept alive for 60.0 seconds
11:04:15.226 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: set socket timeout to 0
11:04:15.226 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfigdata.us-east-1.amazonaws.com:443][total available: 1; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:15.227 [main] DEBUG software.amazon.awssdk.retries.LegacyRetryStrategy - Request attempt 1 succeeded (cost: -1, capacity: 500/500)
11:04:15.318 [main] DEBUG software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain - Creating an interceptor chain that will apply interceptors in the following order: [software.amazon.awssdk.core.internal.interceptor.HttpChecksumValidationInterceptor@40f8f5a8, software.amazon.awssdk.awscore.interceptor.HelpfulUnknownHostExceptionInterceptor@1ffcf674, software.amazon.awssdk.awscore.eventstream.EventStreamInitialRequestInterceptor@442f92e6, software.amazon.awssdk.awscore.interceptor.TraceIdExecutionInterceptor@7d070ef5, software.amazon.awssdk.services.appconfig.auth.scheme.internal.AppConfigAuthSchemeInterceptor@7a55f148, software.amazon.awssdk.services.appconfig.endpoints.internal.AppConfigResolveEndpointInterceptor@2e2f720, software.amazon.awssdk.services.appconfig.endpoints.internal.AppConfigRequestSetEndpointInterceptor@3ae2ed38]
11:04:15.325 [main] DEBUG software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain - Interceptor 'software.amazon.awssdk.services.appconfig.endpoints.internal.AppConfigRequestSetEndpointInterceptor@3ae2ed38' modified the message with its modifyHttpRequest method.
11:04:15.325 [main] DEBUG software.amazon.awssdk.retries.LegacyRetryStrategy - Request attempt 1 token acquired (backoff: 0ms, cost: 0, capacity: 500/500)
11:04:15.325 [main] DEBUG software.amazon.awssdk.request - Sending Request: DefaultSdkHttpFullRequest(httpMethod=POST, protocol=https, host=appconfig.us-east-1.amazonaws.com, encodedPath=/applications/ppnhs4v/configurationprofiles/vssweot/hostedconfigurationversions, headers=[amz-sdk-invocation-id, Content-Length, Content-Type, User-Agent], queryParameters=[])
11:04:15.325 [main] DEBUG software.amazon.awssdk.core.internal.http.pipeline.stages.SigningStage - Using SelectedAuthScheme: aws.auth#sigv4
11:04:15.325 [main] DEBUG software.amazon.awssdk.core.internal.io.SdkLengthAwareInputStream - Specified InputStream length of 696 has been reached. Returning EOF.
11:04:15.325 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 Canonical Request: POST
/applications/ppnhs4v/configurationprofiles/vssweot/hostedconfigurationversions

amz-sdk-invocation-id:4624a399-45d0-6399-8e59-5de2ee95df66
amz-sdk-request:attempt=1; max=4
content-length:696
content-type:application/json
host:appconfig.us-east-1.amazonaws.com
x-amz-content-sha256:94242d0f48619266bdc479116660f2ab9cb3aa7fc0de4964b8c94c9a9147d129
x-amz-date:20240809T150415Z
x-amz-security-token:"xxx"

amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token
94242d0f48619266bdc479116660f2ab9cb3aa7fc0de4964b8c94c9a9147d129
11:04:15.325 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 Canonical Request Hash: 8fb1bbec81d121d3f50a41874d60049e2db6bf194bf81b3334fb4808d56fb707
11:04:15.325 [main] DEBUG software.amazon.awssdk.http.auth.aws.internal.signer.DefaultV4RequestSigner - AWS4 String to sign: AWS4-HMAC-SHA256
20240809T150415Z
20240809/us-east-1/appconfig/aws4_request
8fb1bbec81d121d3f50a41874d60049e2db6bf194bf81b3334fb4808d56fb707
11:04:15.326 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
11:04:15.326 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
11:04:15.326 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfig.us-east-1.amazonaws.com:443][total available: 0; route allocated: 0 of 50; total allocated: 0 of 50]
11:04:15.326 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection leased: [id: 1][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfig.us-east-1.amazonaws.com:443][total available: 0; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:15.326 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening connection {tls}->http://usproxy.es.oneadp.com:8080->https://appconfig.us-east-1.amazonaws.com:443
11:04:15.326 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connecting to usproxy.es.oneadp.com/11.0.6.39:8080
11:04:15.341 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connection established 26.16.255.140:62872<->11.0.6.39:8080
11:04:15.342 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> CONNECT appconfig.us-east-1.amazonaws.com:443 HTTP/1.1
11:04:15.342 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> Host: appconfig.us-east-1.amazonaws.com
11:04:15.342 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> User-Agent:
11:04:15.342 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "CONNECT appconfig.us-east-1.amazonaws.com:443 HTTP/1.1[\r][\n]"
11:04:15.342 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Host: appconfig.us-east-1.amazonaws.com[\r][\n]"
11:04:15.342 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "User-Agent: [\r][\n]"
11:04:15.342 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]"
11:04:15.439 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "HTTP/1.1 200 Connection established[\r][\n]"
11:04:15.439 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Proxy-Agent: Fortinet-Proxy/1.0[\r][\n]"
11:04:15.439 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "[\r][\n]"
11:04:15.439 [main] DEBUG org.apache.http.headers - http-outgoing-1 << HTTP/1.1 200 Connection established
11:04:15.439 [main] DEBUG org.apache.http.headers - http-outgoing-1 << Proxy-Agent: Fortinet-Proxy/1.0
11:04:15.439 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Tunnel to target created.
11:04:15.439 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Enabled protocols: [TLSv1.3, TLSv1.2]
11:04:15.439 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Enabled cipher suites:[TLS_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
11:04:15.439 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - socket.getSupportedProtocols(): [TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello], socket.getEnabledProtocols(): [TLSv1.3, TLSv1.2]
11:04:15.439 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Starting handshake
11:04:15.508 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - Secure session established
11:04:15.508 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - negotiated protocol: TLSv1.3
11:04:15.508 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - negotiated cipher suite: TLS_AES_128_GCM_SHA256
11:04:15.508 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - peer principal: CN=appconfig.us-east-1.amazonaws.com
11:04:15.508 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - peer alternative names: [appconfig.us-east-1.amazonaws.com]
11:04:15.508 [main] DEBUG software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory - issuer principal: CN=Amazon RSA 2048 M02, O=Amazon, C=US
11:04:15.508 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-1: set socket timeout to 30000
11:04:15.508 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request POST /applications/ppnhs4v/configurationprofiles/vssweot/hostedconfigurationversions HTTP/1.1
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> POST /applications/ppnhs4v/configurationprofiles/vssweot/hostedconfigurationversions HTTP/1.1
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> Host: appconfig.us-east-1.amazonaws.com
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> amz-sdk-invocation-id: 4624a399-45d0-6399-8e59-5de2ee95df66
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> amz-sdk-request: attempt=1; max=4
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=0a5a4a915a98f2752e1e4c905700e16225c71ebee969c1d356efaed34eaa1077
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> Content-Type: application/json
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> x-amz-content-sha256: 94242d0f48619266bdc479116660f2ab9cb3aa7fc0de4964b8c94c9a9147d129
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> X-Amz-Date: 20240809T150415Z
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> X-Amz-Security-Token: "xxx"
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> Content-Length: 696
11:04:15.509 [main] DEBUG org.apache.http.headers - http-outgoing-1 >> Connection: Keep-Alive
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "POST /applications/ppnhs4v/configurationprofiles/vssweot/hostedconfigurationversions HTTP/1.1[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Host: appconfig.us-east-1.amazonaws.com[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "amz-sdk-invocation-id: 4624a399-45d0-6399-8e59-5de2ee95df66[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "amz-sdk-request: attempt=1; max=4[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=0a5a4a915a98f2752e1e4c905700e16225c71ebee969c1d356efaed34eaa1077[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Content-Type: application/json[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "x-amz-content-sha256: 94242d0f48619266bdc479116660f2ab9cb3aa7fc0de4964b8c94c9a9147d129[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "X-Amz-Date: 20240809T150415Z[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "X-Amz-Security-Token: "xxx"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Content-Length: 696[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Connection: Keep-Alive[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]"
11:04:15.509 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "eyJ2YWx1ZXMiOnsiZmxhZ19mcm9tX3VpIjp7Il9jcmVhdGVkQXQiOiIyMDI0LTA4LTA1VDE5OjU1OjI3LjM5OVoiLCJfdXBkYXRlZEF0IjoiMjAyNC0wOC0wNVQxOTo1NToyNy4zOTlaIiwiZW5hYmxlZCI6dHJ1ZX0sInVpX3JlZnJlc2giOnsiX2NyZWF0ZWRBdCI6IjIwMjQtMDgtMDVUMTc6NTk6NDIuODg2WiIsIl91cGRhdGVkQXQiOiIyMDI0LTA3LTMxVDE4OjA5OjE5LjkzOVoiLCJlbmFibGVkIjpmYWxzZX19LCJmbGFncyI6eyJmbGFnX2Zyb21fdWkiOnsiX2NyZWF0ZWRBdCI6IjIwMjQtMDgtMDVUMTk6NTU6MjcuMzk5WiIsIm5hbWUiOiJmbGFnX2Zyb21fdWkiLCJkZXNjcmlwdGlvbiI6ImZsYWdfZnJvbV91aSIsIl91cGRhdGVkQXQiOiIyMDI0LTA4LTA1VDE5OjU1OjI3LjM5OVoifSwidWlfcmVmcmVzaCI6eyJfY3JlYXRlZEF0IjoiMjAyNC0wOC0wNVQxNzo1OTo0Mi44ODZaIiwibmFtZSI6IlVJIFJlZnJlc2giLCJfdXBkYXRlZEF0IjoiMjAyNC0wNy0zMVQxODowOToxOS45MzlaIn19LCJ2ZXJzaW9uIjoiMSJ9"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "HTTP/1.1 400 Bad Request[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Date: Fri, 09 Aug 2024 15:04:15 GMT[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Content-Type: application/json[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Content-Length: 234[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Connection: keep-alive[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "x-amzn-RequestId: 0bf008a8-bd8c-496e-8342-0e453ba0a17e[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "x-amzn-ErrorType: BadRequestException:[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "[\r][\n]"
11:04:15.737 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "{"Details":{"InvalidConfiguration":[{"Reason":"Data is not valid JSON","Type":"Malformed","Value":""}]},"Message":"Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided","Reason":"InvalidConfiguration"}"
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << HTTP/1.1 400 Bad Request
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << Date: Fri, 09 Aug 2024 15:04:15 GMT
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Type: application/json
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Length: 234
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << Connection: keep-alive
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << x-amzn-RequestId: 0bf008a8-bd8c-496e-8342-0e453ba0a17e
11:04:15.738 [main] DEBUG org.apache.http.headers - http-outgoing-1 << x-amzn-ErrorType: BadRequestException:
11:04:15.738 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be kept alive for 60000 MILLISECONDS
11:04:15.738 [main] DEBUG software.amazon.awssdk.requestId - Received failed response: 400, Request ID: 0bf008a8-bd8c-496e-8342-0e453ba0a17e, Extended Request ID: not available
11:04:15.738 [main] DEBUG software.amazon.awssdk.request - Received failed response: 400, Request ID: 0bf008a8-bd8c-496e-8342-0e453ba0a17e, Extended Request ID: not available
11:04:15.739 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 1][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfig.us-east-1.amazonaws.com:443] can be kept alive for 60.0 seconds
11:04:15.739 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-1: set socket timeout to 0
11:04:15.739 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 1][route: {tls}->http://usproxy.es.oneadp.com:8080->https://appconfig.us-east-1.amazonaws.com:443][total available: 1; route allocated: 1 of 50; total allocated: 1 of 50]
11:04:15.747 [main] DEBUG software.amazon.awssdk.retries.LegacyRetryStrategy - Request attempt 1 encountered non-retryable failure
software.amazon.awssdk.services.appconfig.model.BadRequestException: Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided (Service: AppConfig, Status Code: 400, Request ID: 0bf008a8-bd8c-496e-8342-0e453ba0a17e)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleErrorResponse(CombinedResponseHandler.java:125)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleResponse(CombinedResponseHandler.java:82)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:60)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:41)
at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:50)
at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:38)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:72)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:55)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:39)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.executeRequest(RetryableStage2.java:93)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:56)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:36)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
at software.amazon.awssdk.services.appconfig.DefaultAppConfigClient.createHostedConfigurationVersion(DefaultAppConfigClient.java:856)
at com.adp.talent.AppConfigWriteExample.main(AppConfigWriteExample.java:137)
11:04:15.749 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager is shutting down
11:04:15.749 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
11:04:15.751 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager shut down
11:04:15.751 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager is shutting down
11:04:15.751 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-1: Close connection
11:04:15.751 [idle-connection-reaper] DEBUG software.amazon.awssdk.http.apache.internal.conn.IdleConnectionReaper - Reaper thread:
java.lang.InterruptedException: sleep interrupted
at java.base/java.lang.Thread.sleep(Native Method)
at software.amazon.awssdk.http.apache.internal.conn.IdleConnectionReaper$ReaperTask.run(IdleConnectionReaper.java:151)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
11:04:15.751 [idle-connection-reaper] DEBUG software.amazon.awssdk.http.apache.internal.conn.IdleConnectionReaper - Shutting down reaper thread.
11:04:15.751 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager shut down
software.amazon.awssdk.services.appconfig.model.BadRequestException: Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided (Service: AppConfig, Status Code: 400, Request ID: 0bf008a8-bd8c-496e-8342-0e453ba0a17e)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleErrorResponse(CombinedResponseHandler.java:125)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleResponse(CombinedResponseHandler.java:82)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:60)
at software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:41)
at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:50)
at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:38)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:72)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:55)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:39)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.executeRequest(RetryableStage2.java:93)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:56)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage2.execute(RetryableStage2.java:36)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
at software.amazon.awssdk.services.appconfig.DefaultAppConfigClient.createHostedConfigurationVersion(DefaultAppConfigClient.java:856)
at com.adp.talent.AppConfigWriteExample.main(AppConfigWriteExample.java:137)

Process finished with exit code 0

@github-actions github-actions bot removed the response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 10 days. label Aug 9, 2024
@prashanthparsi
Copy link
Author

I also infact logged json content and its matching with json schema. https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html

11:22:30.579 [main] INFO com.adp.talent.AppConfigWriteExample - JSON content being submitted: {"values":{"flag_from_ui":{"_createdAt":"2024-08-05T19:55:27.399Z","_updatedAt":"2024-08-05T19:55:27.399Z","enabled":true},"ui_refresh":{"_createdAt":"2024-08-05T17:59:42.886Z","_updatedAt":"2024-07-31T18:09:19.939Z","enabled":false}},"flags":{"flag_from_ui":{"_createdAt":"2024-08-05T19:55:27.399Z","name":"flag_from_ui","description":"flag_from_ui","_updatedAt":"2024-08-05T19:55:27.399Z"},"ui_refresh":{"_createdAt":"2024-08-05T17:59:42.886Z","name":"UI Refresh","_updatedAt":"2024-07-31T18:09:19.939Z"}},"version":"1"}

Formatted one ->

{
    "values":
    {
        "flag_from_ui":
        {
            "_createdAt": "2024-08-05T19:55:27.399Z",
            "_updatedAt": "2024-08-05T19:55:27.399Z",
            "enabled": true
        },
        "ui_refresh":
        {
            "_createdAt": "2024-08-05T17:59:42.886Z",
            "_updatedAt": "2024-07-31T18:09:19.939Z",
            "enabled": false
        }
    },
    "flags":
    {
        "flag_from_ui":
        {
            "_createdAt": "2024-08-05T19:55:27.399Z",
            "name": "flag_from_ui",
            "description": "flag_from_ui",
            "_updatedAt": "2024-08-05T19:55:27.399Z"
        },
        "ui_refresh":
        {
            "_createdAt": "2024-08-05T17:59:42.886Z",
            "name": "UI Refresh",
            "_updatedAt": "2024-07-31T18:09:19.939Z"
        }
    },
    "version": "1"
}

@debora-ito
Copy link
Member

@prashanthparsi in the wirelogs you shared the credential keys and security token, I removed from your comment but they are still available in the comment history. Please rotate your credentials as soon as possible.

I'll take a look at the logs shortly.

@debora-ito
Copy link
Member

Here's the relevant request:

>> "POST /applications/ppnhs4v/configurationprofiles/vssweot/hostedconfigurationversions HTTP/1.1[\r][\n]"
>> "Host: appconfig.us-east-1.amazonaws.com[\r][\n]"
>> "amz-sdk-invocation-id: 4624a399-45d0-6399-8e59-5de2ee95df66[\r][\n]"
>> "amz-sdk-request: attempt=1; max=4[\r][\n]"
>> "Authorization: AWS4-HMAC-SHA256 Credential=xxx/20240809/us-east-1/appconfig/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=0a5a4a915a98f2752e1e4c905700e16225c71ebee969c1d356efaed34eaa1077[\r][\n]"
>> "Content-Type: application/json[\r][\n]"
>> "User-Agent: aws-sdk-java/2.26.25 Mac_OS_X/14.5 Java_HotSpot_TM__64-Bit_Server_VM/17.0.4.1+1-LTS-2 Java/17.0.4.1 vendor/Oracle_Corporation io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat[\r][\n]"
>> "x-amz-content-sha256: 94242d0f48619266bdc479116660f2ab9cb3aa7fc0de4964b8c94c9a9147d129[\r][\n]"
>> "X-Amz-Date: 20240809T150415Z[\r][\n]"
>> "X-Amz-Security-Token: "xxx"
>> "Content-Length: 696[\r][\n]"
>> "Connection: Keep-Alive[\r][\n]"
>> "[\r][\n]"
>> "eyJ2YWx1ZXMiOnsiZmxhZ19mcm9tX3VpIjp7Il9jcmVhdGVkQXQiOiIyMDI0LTA4LTA1VDE5OjU1OjI3LjM5OVoiLCJfdXBkYXRlZEF0IjoiMjAyNC0wOC0wNVQxOTo1NToyNy4zOTlaIiwiZW5hYmxlZCI6dHJ1ZX0sInVpX3JlZnJlc2giOnsiX2NyZWF0ZWRBdCI6IjIwMjQtMDgtMDVUMTc6NTk6NDIuODg2WiIsIl91cGRhdGVkQXQiOiIyMDI0LTA3LTMxVDE4OjA5OjE5LjkzOVoiLCJlbmFibGVkIjpmYWxzZX19LCJmbGFncyI6eyJmbGFnX2Zyb21fdWkiOnsiX2NyZWF0ZWRBdCI6IjIwMjQtMDgtMDVUMTk6NTU6MjcuMzk5WiIsIm5hbWUiOiJmbGFnX2Zyb21fdWkiLCJkZXNjcmlwdGlvbiI6ImZsYWdfZnJvbV91aSIsIl91cGRhdGVkQXQiOiIyMDI0LTA4LTA1VDE5OjU1OjI3LjM5OVoifSwidWlfcmVmcmVzaCI6eyJfY3JlYXRlZEF0IjoiMjAyNC0wOC0wNVQxNzo1OTo0Mi44ODZaIiwibmFtZSI6IlVJIFJlZnJlc2giLCJfdXBkYXRlZEF0IjoiMjAyNC0wNy0zMVQxODowOToxOS45MzlaIn19LCJ2ZXJzaW9uIjoiMSJ9"
<< "HTTP/1.1 400 Bad Request[\r][\n]"
<< "Date: Fri, 09 Aug 2024 15:04:15 GMT[\r][\n]"
<< "Content-Type: application/json[\r][\n]"
<< "Content-Length: 234[\r][\n]"
<< "Connection: keep-alive[\r][\n]"
<< "x-amzn-RequestId: 0bf008a8-bd8c-496e-8342-0e453ba0a17e[\r][\n]"
<< "x-amzn-ErrorType: BadRequestException:[\r][\n]"
<< "[\r][\n]"
<< "{"Details":{"InvalidConfiguration":[{"Reason":"Data is not valid JSON","Type":"Malformed","Value":""}]},"Message":"Error invoking extension AppConfig Feature Flags Helper: Malformed 'Content' provided","Reason":"InvalidConfiguration"}"

Here's how the content body is being sent in the wire:

eyJ2YWx1ZXMiOnsiZmxhZ19mcm9tX3VpIjp7Il9jcmVhdGVkQXQiOiIyMDI0LTA4LTA1VDE5OjU1OjI3LjM5OVoiLCJfdXBkYXRlZEF0IjoiMjAyNC0wOC0wNVQxOTo1NToyNy4zOTlaIiwiZW5hYmxlZCI6dHJ1ZX0sInVpX3JlZnJlc2giOnsiX2NyZWF0ZWRBdCI6IjIwMjQtMDgtMDVUMTc6NTk6NDIuODg2WiIsIl91cGRhdGVkQXQiOiIyMDI0LTA3LTMxVDE4OjA5OjE5LjkzOVoiLCJlbmFibGVkIjpmYWxzZX19LCJmbGFncyI6eyJmbGFnX2Zyb21fdWkiOnsiX2NyZWF0ZWRBdCI6IjIwMjQtMDgtMDVUMTk6NTU6MjcuMzk5WiIsIm5hbWUiOiJmbGFnX2Zyb21fdWkiLCJkZXNjcmlwdGlvbiI6ImZsYWdfZnJvbV91aSIsIl91cGRhdGVkQXQiOiIyMDI0LTA4LTA1VDE5OjU1OjI3LjM5OVoifSwidWlfcmVmcmVzaCI6eyJfY3JlYXRlZEF0IjoiMjAyNC0wOC0wNVQxNzo1OTo0Mi44ODZaIiwibmFtZSI6IlVJIFJlZnJlc2giLCJfdXBkYXRlZEF0IjoiMjAyNC0wNy0zMVQxODowOToxOS45MzlaIn19LCJ2ZXJzaW9uIjoiMSJ9

According to the AppConfig CreateHostedConfigurationVersion API Reference:

Request Body

The request accepts the following binary data.

Content
The configuration data, as bytes.

Note
AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.

Have you tried sending the content in JSON text format? Just to rule out any issues with encoding.

If sending in text format still returns Malformed Content error, I'll reach out to the AppConfig team internally, I'll ask you to share a fresh request ID to send them.

@debora-ito debora-ito added the response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 10 days. label Aug 9, 2024
@prashanthparsi
Copy link
Author

prashanthparsi commented Aug 9, 2024

@debora-ito I figured it out. I changed the way the content is encoded. For better understanding I commented old code, and new code is working. I have updated the code to use SdkBytes.fromString(updatedContent, StandardCharsets.UTF_8) INSTEAD of converting the plain string to base 64 encoded and then to bytes.

            CreateHostedConfigurationVersionRequest createHostedConfigRequest = CreateHostedConfigurationVersionRequest.builder()
                    .applicationId(APP_ID)
                    .configurationProfileId(CONFIG_PROFILE_ID)
                    .content(SdkBytes.fromString(updatedContent, StandardCharsets.UTF_8))
//                    .content(SdkBytes.fromByteArray(base64EncodedContent.getBytes(StandardCharsets.UTF_8)))
                    .contentType("application/json")
                    .build();

@github-actions github-actions bot removed the response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 10 days. label Aug 9, 2024
@debora-ito debora-ito added guidance Question that needs advice or information. and removed bug This issue is a bug. p2 This is a standard priority issue labels Aug 13, 2024
@debora-ito
Copy link
Member

Glad you're not blocked anymore. Closing.

Copy link

This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.

@debora-ito debora-ito added the p2 This is a standard priority issue label Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
guidance Question that needs advice or information. p2 This is a standard priority issue
Projects
None yet
Development

No branches or pull requests

2 participants