aws / aws-sdk-java-v2

The official AWS SDK for Java - Version 2
Apache License 2.0
2.18k stars 843 forks source link

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

Closed prashanthparsi closed 2 months ago

prashanthparsi commented 2 months ago

Upcoming End-of-Support

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 -> ```java 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 config = objectMapper.readValue(content, Map.class); // Ensure the configuration matches the provided JSON schema and structure Map flags = (Map) config.getOrDefault("flags", new HashMap<>()); Map values = (Map) config.getOrDefault("values", new HashMap<>()); // Add or update the feature flags and their values Map 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 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 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 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 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

debora-ito commented 2 months ago

Transferring to the Java SDK v2 repo.

prashanthparsi commented 2 months ago

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 commented 2 months ago

@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

prashanthparsi commented 2 months ago

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_TM64-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_TM64-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_TM64-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_TM64-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

prashanthparsi commented 2 months ago

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 commented 2 months ago

@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 commented 2 months ago

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.

prashanthparsi commented 2 months ago

@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();
debora-ito commented 2 months ago

Glad you're not blocked anymore. Closing.

github-actions[bot] commented 2 months ago

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.