awslabs / dynamodb-cross-region-library

A library to facilitate cross-region replication with Amazon DynamoDB Streams.
Apache License 2.0
275 stars 98 forks source link

Replica table indexes #20

Closed mvrogowski closed 8 years ago

mvrogowski commented 8 years ago

When a replication group is created, the indexes aren't copied from source to replicas.

dymaws commented 8 years ago

This should now be fixed with the latest commit https://github.com/awslabs/dynamodb-cross-region-library/commit/f05f6ee12a94324ff56290e42cdfd09829e828dd

mvrogowski commented 8 years ago

When will it be deployed?

schwar commented 8 years ago

It's fixed in the GitHub repository. It has been deployed to the S3 bucket where Elastic Beanstalk gets the Jar from for some time. To update your Elastic Beanstalk instance, you have to delete the Cross Region Replication CloudFormation Stack and recreate it.

mvrogowski commented 8 years ago

I questioned if it will be deployed to Amazon's Cross-Region S3 bucket ( https://s3.amazonaws.com/dynamodb-cross-region/). Will it be?

Marcos Vinicius Rogowski +55 51 8179 2244

2016-04-20 14:08 GMT-03:00 Ben Schwartz notifications@github.com:

It's fixed in the GitHub repository. It has been deployed to the S3 bucket where Elastic Beanstalk gets the Jar from for some time. To update your Elastic Beanstalk instance, you have to delete the Cross Region Replication CloudFormation Stack and recreate it.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/awslabs/dynamodb-cross-region-library/issues/20#issuecomment-212517977

dymaws commented 8 years ago

To be clear, the fix that has been deployed fixes the issue where a "ValidationException" is thrown during creation of the replica table when the source table has indexes. This fix has been pushed to Github and deployed to the S3 bucket you refer to.

However, the fix only get rid of the ValidationException, it does not copy the secondary indexes over from source to destination table. If you want to have indexes on your replica table, please create the table via the DynamoDB console or APIs, then simply select the replica table when creating a replication group. The reason we do not create indexes during replica table creation is because we would go down the road of duplicating many functions the DynamoDB service APIs already provide. Currently, the creation of replica table is provided as a convenience mechanism only, we have no plans to support index creation in the future.

mvrogowski commented 8 years ago

Ohh, ok!

I asked because I have a script to auto create Replication Groups. I already created a method to copy indexes from source to replica, but I guessed that it could be done by library.

Thank's for your solicitude!