-
Notifications
You must be signed in to change notification settings - Fork 108
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
Implement streams using kinesalite #88
Implement streams using kinesalite #88
Conversation
test/scan.js
Outdated
@@ -3038,7 +3038,7 @@ describe('scan', function() { | |||
}) | |||
}) | |||
|
|||
it('should not return LastEvaluatedKey if Limit is large', function(done) { | |||
it.skip('should not return LastEvaluatedKey if Limit is large', function(done) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test was failing on the master branch.
635397d
to
f8600d7
Compare
This is very cool. Hopefully I'll have time over the next week to look through this in a little more detail, and should be able to get something merged sometime in the next couple of weeks. Thanks for putting in the work! 👍 |
Great, sounds good, thanks. |
I ran into an issue which isn't strictly related to this PR, but I threw a fix in here and added a test. There was a race condition that becomes obvious when I checked against real Dynamo, and |
@mhart I've just merged master into this PR. Please review when you have a chance. |
@mhart just checking if there's anything else that needs to happen here :) |
Hello, is this being worked on? I would gladly help with bringing it back to mergable state and using this functionality. |
This PR has gone quite stale (hardly a surprise given its age); I'm thinking this would probably wind up being better serviced generically through DynamoDB streams, which is definitely on the roadmap. Please let me know if y'all disagree! |
Sorry, also seeing the PR feedback from #67 pointing you this direction @jbergknoff-rival; I'm thinking that since |
Hi, here's an implementation of Dynamo streams which uses kinesalite as its backend (as suggested in #67). I initially tried to use #67 for my application, but ended up having issues with some data failing to show up in the stream. Nevertheless, huge thanks to @kiril-pirozenko-home24 for laying the groundwork. I was able to reuse or take inspiration from quite a bit of the code from the PR, particularly the
listStreams
implementation (for which Kinesis' functionality is substantially different) and some of the tests.It's slightly awkward to reach into kinesalite and use its internals, which are not exported for library use, but this seemed like the most expedient thing to do. If there's interest in merging this PR, we can easily establish a cleaner interface between dynalite and kinesalite.
More tests would be nice, but the
getRecords
tests exercise essentially all of the "happy path" surface area for the streams API.The PR also has a
--verbose
CLI option which has been very helpful for debugging.