taoensso / faraday

Amazon DynamoDB client for Clojure
https://www.taoensso.com/faraday
Eclipse Public License 1.0
238 stars 84 forks source link

updateTable hangs if passed the same throughput as the table currently has #79

Closed ricardojmendez closed 8 years ago

ricardojmendez commented 8 years ago

If we pass the same throughput as the table currently has (or no throughput at all, which defaults to the same) the update-table call hangs. I initially thought that the table's state never changed to :updating, but looking at table-status-watch that wouldn't have affected it, since it only checks that the current status is not the one passed.

Execution actually hangs when we call AmazonDynamoDB.updateTable.

This probably hadn't manifested before removing stepping (see #78) because if the throughput was the same as before, no steps were generated and the function was never called. Adding a single step to the old implementation with the same values as the current throughput reproduces the issue.

This happens against both the local database and a live instance.

ricardojmendez commented 8 years ago

Resolved while working on #78, will push commits once I've merged that feature branch to dev.

ricardojmendez commented 8 years ago

For what it's worth, I suspect that it's not the call to updateTable that was hanging, but that expectations hangs without reporting an error in some cases when an unexpected exception is thrown. Need to verify.

ricardojmendez commented 8 years ago

See #85