-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kinesis GetRecords truncates ApproximateArrivalTimestamp field #3410
Labels
bug
This issue is a bug.
Comments
dacut
added
bug
This issue is a bug.
needs-triage
This issue or PR still needs to be triaged.
labels
Jul 7, 2020
Hi @dacut, thanks for bringing this to our attention and I do apologize for the delay in response on our end. I'm able to reproduce the described behavior and have brought this up with the rest of the team, we'll be investigating this behavior shortly. Once we have additional information on the matter we'll update the issue accordingly. |
3 tasks
aws-sdk-go-automation
pushed a commit
that referenced
this issue
Aug 12, 2020
=== ### Service Client Updates * `service/cloud9`: Updates service API and documentation * Add ConnectionType input parameter to CreateEnvironmentEC2 endpoint. New parameter enables creation of environments with SSM connection. * `service/comprehend`: Updates service documentation * `service/ec2`: Updates service API and documentation * Introduces support for IPv6-in-IPv4 IPsec tunnels. A user can now send traffic from their on-premise IPv6 network to AWS VPCs that have IPv6 support enabled. * `service/fsx`: Updates service API and documentation * `service/iot`: Updates service API, documentation, and paginators * Audit finding suppressions: Device Defender enables customers to turn off non-compliant findings for specific resources on a per check basis. * `service/lambda`: Updates service API and examples * Support for creating Lambda Functions using 'java8.al2' and 'provided.al2' * `service/transfer`: Updates service API, documentation, and paginators * Adds security policies to control cryptographic algorithms advertised by your server, additional characters in usernames and length increase, and FIPS compliant endpoints in the US and Canada regions. * `service/workspaces`: Updates service API and documentation * Adds optional EnableWorkDocs property to WorkspaceCreationProperties in the ModifyWorkspaceCreationProperties API ### SDK Enhancements * `codegen`: Add XXX_Values functions for getting slice of API enums by type. * Fixes [#3441](#3441) by adding a new XXX_Values function for each API enum type that returns a slice of enum values, e.g `DomainStatus_Values`. * `aws/request`: Update default retry to retry "use of closed network connection" errors ([#3476](#3476)) * Fixes [#3406](#3406) ### SDK Bugs * `private/protocol/json/jsonutil`: Fixes a bug that truncated millisecond precision time in API response to seconds. ([#3474](#3474)) * Fixes [#3464](#3464) * Fixes [#3410](#3410) * `codegen`: Export event stream constructor for easier mocking ([#3473](#3473)) * Fixes [#3412](#3412) by exporting the operation's EventStream type's constructor function so it can be used to fully initialize fully when mocking out behavior for API operations with event streams. * `service/ec2`: Fix max retries with client customizations ([#3465](#3465)) * Fixes [#3374](#3374) by correcting the EC2 API client's customization for ModifyNetworkInterfaceAttribute and AssignPrivateIpAddresses operations to use the aws.Config.MaxRetries value if set. Previously the API client's customizations would ignore MaxRetries specified in the SDK's aws.Config.MaxRetries field.
Merged
aws-sdk-go-automation
added a commit
that referenced
this issue
Aug 12, 2020
Release v1.34.3 (2020-08-12) === ### Service Client Updates * `service/cloud9`: Updates service API and documentation * Add ConnectionType input parameter to CreateEnvironmentEC2 endpoint. New parameter enables creation of environments with SSM connection. * `service/comprehend`: Updates service documentation * `service/ec2`: Updates service API and documentation * Introduces support for IPv6-in-IPv4 IPsec tunnels. A user can now send traffic from their on-premise IPv6 network to AWS VPCs that have IPv6 support enabled. * `service/fsx`: Updates service API and documentation * `service/iot`: Updates service API, documentation, and paginators * Audit finding suppressions: Device Defender enables customers to turn off non-compliant findings for specific resources on a per check basis. * `service/lambda`: Updates service API and examples * Support for creating Lambda Functions using 'java8.al2' and 'provided.al2' * `service/transfer`: Updates service API, documentation, and paginators * Adds security policies to control cryptographic algorithms advertised by your server, additional characters in usernames and length increase, and FIPS compliant endpoints in the US and Canada regions. * `service/workspaces`: Updates service API and documentation * Adds optional EnableWorkDocs property to WorkspaceCreationProperties in the ModifyWorkspaceCreationProperties API ### SDK Enhancements * `codegen`: Add XXX_Values functions for getting slice of API enums by type. * Fixes [#3441](#3441) by adding a new XXX_Values function for each API enum type that returns a slice of enum values, e.g `DomainStatus_Values`. * `aws/request`: Update default retry to retry "use of closed network connection" errors ([#3476](#3476)) * Fixes [#3406](#3406) ### SDK Bugs * `private/protocol/json/jsonutil`: Fixes a bug that truncated millisecond precision time in API response to seconds. ([#3474](#3474)) * Fixes [#3464](#3464) * Fixes [#3410](#3410) * `codegen`: Export event stream constructor for easier mocking ([#3473](#3473)) * Fixes [#3412](#3412) by exporting the operation's EventStream type's constructor function so it can be used to fully initialize fully when mocking out behavior for API operations with event streams. * `service/ec2`: Fix max retries with client customizations ([#3465](#3465)) * Fixes [#3374](#3374) by correcting the EC2 API client's customization for ModifyNetworkInterfaceAttribute and AssignPrivateIpAddresses operations to use the aws.Config.MaxRetries value if set. Previously the API client's customizations would ignore MaxRetries specified in the SDK's aws.Config.MaxRetries field.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Confirm by changing [ ] to [x] below to ensure that it's a bug:
Describe the bug
When calling
kinesis.GetRecords()
for a shard, theApproximateArrivalTimestamp
field which is stored with millisecond precision per the Kinesis documentation is truncated to have zero fractional seconds. This doesn't happen for the same records with the Boto3 (Python) SDK.Printing the
ApproximateArrivalTimestamp
field (to nanosecond resolution, e.g.time.Format("15:04:05.999999999")
) for the Go vs Boto3 SDK yields:And, yes, we do need sub-second resolution for our application logs.
Version of AWS SDK for Go?
Example: v1.32.13
aws.SDKVersion
in your code after importing"github.com/aws/aws-sdk-go/aws"
Version of Go (
go version
)?go version go1.14.4 darwin/amd64
To Reproduce (observed behavior)
Actual code sample:
Obtaining Kinesis records example: https://github.com/dacut/kinesis-log-watcher/blob/master/main.go#L217
And printing them: https://github.com/dacut/kinesis-log-watcher/blob/master/main.go#L247
Simplified example:
Expected behavior
The nanoseconds field of timestamps should be non-zero (though with only millisecond resolution).
Additional context
None.
The text was updated successfully, but these errors were encountered: