-
Notifications
You must be signed in to change notification settings - Fork 28
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
onBackpressureBufferToFile review please #9
Comments
onBackpressureBufferToFile
review please
I noticed this feature a few weeks ago and although I haven't played with it yet, it looks really fascinating. Typically I use your RxJava-JDBC and structure my streams into controlled queried batches in some form. My company uses RDBMS for most data, but sometimes we do deal with really large text files. It's one thing to stream each line out of a text file, but if the data needs to be grouped up or require some aggregated context to perform calculations, that can quickly become problematic since you cannot query a text file. Sometimes I have to turn these text files into SQLite databases just so I can query them and not have to scan and import all the data. I haven't look at this API much yet, but I'd be curious to see if it can scale those kinds of challenges. |
Thanks for that @thomasnield, I'll be curious to hear if it's useful to you. |
@thomasnield considering your use case I think you need more than serialized streams. You might profit from using serialized data structures that support fast access etc. You might want to look at MapDB. I actually went there first and tried using its file based queue in the implementation here. Worked but was slowish because had stronger guarantees that are needed in this new operator (here can leverage single producer-single consumer scenario for instance). |
Hmm, interesting I'll check that out too then. Great work on everything though! Always thrilled to see what you come up with next... |
I've glanced through the operator and the SPSC queues and this is what I think:
|
Thanks very much @akarnokd, great to have your expertise looking at it.
Thanks, corrected.
True (if done).
Thanks, corrected.
Yeah, this is sort of a combination of
Yeah, I'll ponder this a bit further. My biggest concern with not using
Do you mean in terms of correctness or performance? Well it works fine and I have long running tests that just use one file but there is more contention in
I've been following the project a little bit but I haven't had a look at the internals for a while. I better go back there!
Fantastic, I'll have a look! |
Aeron architecture description video: http://www.infoq.com/presentations/aeron, 17:00 to 30:00, clearly explained Looks good. I'll give it a try later. |
The ability to buffer streams to disk has been something that I've wondered about for a while.
Can I get peoples comments/review of this new operator please?
Transformers.onBackpressureBufferToFile
I'd love to get review of this new operator in terms of
The code is in the master branch and runtime jar is on Maven Central as described in rxjava-extras README.
A quick way of contributing is to run a long running test (~30 mins) on your machine:
git clone https://github.com/davidmoten/rxjava-extras.git cd rxjava-extras ./test-long.sh
On non-nix platform just run this command instead of
test-long.sh
:The text was updated successfully, but these errors were encountered: