appsmithorg/appsmith · error · AppsmithPluginException

PE-DYN-5000

PE-DYN-5000

Error message

Error occurred while executing DynamoDB query.

What it means

A catch-all around the reflection-based invocation of the DynamoDB client method. It catches InvocationTargetException, IllegalAccessException, NoSuchMethodException, and ClassNotFoundException, and wraps them in DynamoPluginError.QUERY_EXECUTION_FAILED (PE-DYN-5000). The downstream cause message (e.getCause() if present, else e itself) is included so the specific AWS error is visible.

Source

Thrown at app/server/appsmith-plugins/dynamoPlugin/src/main/java/com/external/plugins/DynamoPlugin.java:253

                        try {
                            final Method actionExecuteMethod = DynamoDbClient.class.getMethod(
                                    // Convert `ListTables` to `listTables`, which is the name of the method to execute
                                    // this action.
                                    toLowerCamelCase(action), requestClass);
                            final Object sdkValue = plainToSdk(parameters, requestClass);
                            final DynamoDbResponse response =
                                    (DynamoDbResponse) actionExecuteMethod.invoke(ddb, sdkValue);
                            Object rawResponse = sdkToPlain(response);
                            Object transformedResponse =
                                    getTransformedResponse((Map<String, Object>) rawResponse, action);
                            result.setBody(transformedResponse);
                        } catch (InvocationTargetException
                                | IllegalAccessException
                                | NoSuchMethodException
                                | ClassNotFoundException e) {
                            final String errorMessage = (e.getCause() == null ? e : e.getCause()).getMessage();
                            log.warn("Error executing the DynamoDB Action: {}", errorMessage, e);
                            throw new AppsmithPluginException(
                                    DynamoPluginError.QUERY_EXECUTION_FAILED,
                                    DynamoErrorMessages.QUERY_EXECUTION_FAILED_ERROR_MSG,
                                    errorMessage);
                        }

                        result.setIsExecutionSuccess(true);
                        return result;
                    })
                    .onErrorResume(error -> {
                        ActionExecutionResult result = new ActionExecutionResult();
                        result.setIsExecutionSuccess(false);
                        if (!(error instanceof AppsmithPluginException)) {
                            error = new AppsmithPluginException(
                                    DynamoPluginError.QUERY_EXECUTION_FAILED,
                                    DynamoErrorMessages.QUERY_EXECUTION_FAILED_ERROR_MSG,
                                    error.getMessage());
                        }
                        result.setErrorInfo(error);

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Read the downstream error message in the exception cause — it usually names the specific AWS error code (e.g. AccessDeniedException, ValidationException).
  2. Verify all required fields for the DynamoDB action are present and correctly typed in the JSON body.
  3. Check IAM permissions and AWS credentials for the action being attempted.
  4. If the cause mentions NoSuchMethodException or a signature problem, ensure the action name and SDK version are compatible.
  5. For throughput errors, retry with exponential backoff or increase capacity.
Defensive patterns

Strategy: try-catch

Try / catch

plugin.execute(actionConfiguration, dsConfig)
    .onErrorResume(AppsmithPluginException.class, e -> {
        if ("PE-DYN-5000".equals(e.getErrorDTO().getAppErrorCode())) {
            String downstream = e.getErrorDTO().getDownstreamErrorMessage();
            log.warn("DynamoDB query failed downstream: {}", downstream);
            // surface the AWS cause to the user, optionally retry on throughput errors
            return Mono.just(errorResult(downstream));
        }
        return Mono.error(e);
    });

Prevention

When it happens

Trigger: The DynamoDB SDK method invocation fails at runtime — invalid parameter values, missing required fields that the SDK validates, an AWS service-side error (AccessDeniedException, ResourceNotFoundException, ProvisionedThroughputExceededException), or a method-signature mismatch with the bundled SDK.

Common situations: Missing required fields like TableName or Key; IAM permissions insufficient for the action; AWS throttling or capacity errors; SDK version incompatibility causing NoSuchMethodException; invalid attribute value types that the SDK rejects.

Related errors


AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12). Data as JSON: /api/errors/4b47c101e88e0db5. Report an issue: GitHub.