Comments (35)
Hi @JohannesLichtenberger, would like to help out with this issue if its up for grabs
from sirix.
@JohannesLichtenberger Im also working on benchmarking the generational ZGC on my own. Will try to so some additional analysis here once im done with that.
Also, if there isn't any hard time constraint on the Java version upgrade, I can reach out to you with some updates on that by next week as I have a busy schedule this week.
Will keep posting the results of my ZGC benchmark here though.
from sirix.
You'll need this file: https://www.rakuten-drive.com/transfer/download/96EB5CQP (downloadable until Thursday)
from sirix.
Sorry for the delayed response. Due to some health issues. I've been away from any sorts of work since past couple of weeks. Logged in today only.
Having said that, i've started working on the analysis with generational ZGC and version upgrade. If it's required I can continue working on this.
from sirix.
You can check my branch. I think there's only a Gradle issue left...
from sirix.
Yea better than before :-). It's the onset of winter when pollution suddenly shoots up.
from sirix.
@adarshjhaa100 I've had some time after work today, so I managed to finish the Java update :) but of course still looking forward to your input and maybe contributions (would be more than awesome) 👍
from sirix.
Thanks, go ahead :)
from sirix.
Hi there. Is this issue still being worked on?
from sirix.
@Adaminite Has been assigned to me. Im working on this.
from sirix.
@adarshjhaa100 and @Adaminite, I guess I couldn't wait and wanted to check locally, especially the generational ZGC. At least I've locally switched to Java 21 and replaced @NotNull
with @NonNull
annotations...
from sirix.
@adarshjhaa100 and @Adaminite, it would be more than excellent if you could work on other (more interesting?) issues :)
from sirix.
@JohannesLichtenberger Sure no problem.
I was doing some analysis on new features added to Java 21 and there's some stuff that could be used to enhance the project. The work and time required for this would be significant, and you would be able to do justice to that. Unassigning myself.
Would be interested in tracking this tread though and see what you guys could come up with.
from sirix.
@adarshjhaa100, seems I've still some stuff to do, but have to go to bed now: https://github.com/sirixdb/sirix/tree/update-to-java21
from sirix.
So, if you want to work on this... :-) I got to sirix-core
at least to work with Java 21 and a specific test I wanted to check
from sirix.
Current issue is that Kotlin does not have a Java 21 target
from sirix.
Yep, official docs suggest support till 20, Iast kotlin release is 1.19.10 that came out last month. Got to track the jetbrains release schedule and roadmap.
from sirix.
@adarshjhaa100 I wanted to check generational ZGC, but apparently at least with preconfigured buffer sizes maybe it seems to run out of foreign memory, without it's no problem...
from sirix.
Well, simply seems that direct ByteBuffers are not cleaned up and probably not subject for cleanup somehow.
from sirix.
Did you try adding both these flags: -XX:+UseZGC -XX:+ZGenerational
from sirix.
Yes
from sirix.
One question remains, which objects is it identifying "young" or "old". And what's the time in which "young" objects need to be collected.
Btw, is there any reference to ByteBuffer which is preventing it from getting cleaned up.
Do you have any profiling data available for this? These flags can help: -Xlog:gc* and -verbose:gc
from sirix.
@adarshjhaa100 yes, I know the JVM flags, but not at home today. Maybe I can check tomorrow, but it's in the trx commit in NodePageTrx
where the leaf pages are serialized via a parallel stream to temp byte arrays (but the issue is with the byte instances from Chronicle Bytes).
from sirix.
from sirix.
@ adarshjhaa100 I've attached the log, but I suppose it's not helping that much.
Caused by: java.lang.OutOfMemoryError: Cannot reserve 4096 bytes of direct buffer memory (allocated: 8589931942, limit: 8589934592)
at java.base/java.nio.Bits.reserveMemory(Bits.java:178)
at java.base/java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:127)
at java.base/java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:360)
Also, I'm currently not having much time to work on the issue, so anyone can grab it (maybe using my branch as a base).
from sirix.
@adarshjhaa100 any news already? :-)
from sirix.
@JohannesLichtenberger been busy with work. Will share the progress by this weekend
from sirix.
@adarshjhaa100 I guess you have had no time!?
from sirix.
@JohannesLichtenberger apologies for the delay. I've been busy with a production issue in my org since last couple of weeks.
Hope you understand.
from sirix.
Sure
from sirix.
That said, I'm still looking forward to your insights, once you have some time and if you like to spend it on this 😉
from sirix.
Sure, I've taken off this Friday will take a look for sure. The issue's with the generational ZGC not working properly in this case, right?
from sirix.
Yes, resulting in OutOfMemoryErrors
eventually, plus the switch to Java 21 in the first place (you can have a look into the branch).
from sirix.
Guess you haven't had time!?
from sirix.
Hope you're doing fine again :-)
from sirix.
Related Issues (20)
- Read-only secondary indexes should get a tailored in-memory data structure
- Create performance tests in sirix-benchmarks using JMH HOT 5
- Documentation HOT 23
- Create a new web frontend HOT 44
- Query for non-existent path (Path not found in path summary)
- Error response from daemon: error while creating mount source path '/opt/sirix/sirix-data': mkdir /opt/sirix: read-only file system HOT 5
- docker container keeps restarting HOT 9
- Failure calling the RESTful API: java.lang.NullPointerException HOT 6
- Creating logo with coding HOT 1
- Link to an unsecure website in README.md HOT 7
- Cannot build docker-compose on arm64/aarch64 HOT 4
- gradlew build failing on M1 mac/aarch64 with brew openjdk/gradle HOT 11
- Bug in `ConcurrentAxis` HOT 1
- Binary search in jn:first-existing function if index is not available HOT 2
- test suite only works on linux HOT 6
- Fix docker compose up in sirix-rest-api HOT 17
- Update to Java 22 HOT 9
- Update Keycloak to newest version HOT 1
- Broken/Outdated How to Contribute to an Open Source Link HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sirix.