Coder Social home page Coder Social logo

Comments (35)

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024 1

Hi @JohannesLichtenberger, would like to help out with this issue if its up for grabs

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024 1

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024 1

You'll need this file: https://www.rakuten-drive.com/transfer/download/96EB5CQP (downloadable until Thursday)

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024 1

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024 1

You can check my branch. I think there's only a Gradle issue left...

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024 1

Yea better than before :-). It's the onset of winter when pollution suddenly shoots up.

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024 1

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Thanks, go ahead :)

from sirix.

Adaminite avatar Adaminite commented on May 20, 2024

Hi there. Is this issue still being worked on?

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

@Adaminite Has been assigned to me. Im working on this.

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@adarshjhaa100 and @Adaminite, it would be more than excellent if you could work on other (more interesting?) issues :)

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Current issue is that Kotlin does not have a Java 21 target

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Well, simply seems that direct ByteBuffers are not cleaned up and probably not subject for cleanup somehow.

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

Did you try adding both these flags: -XX:+UseZGC -XX:+ZGenerational

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Yes

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

final Bytes<ByteBuffer> bytes = Bytes.elasticByteBuffer(60_000);

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@ adarshjhaa100 I've attached the log, but I suppose it's not helping that much.

zgc-generational-insert.log

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@adarshjhaa100 any news already? :-)

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

@JohannesLichtenberger been busy with work. Will share the progress by this weekend

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

@adarshjhaa100 I guess you have had no time!?

from sirix.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

@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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Sure

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

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.

adarshjhaa100 avatar adarshjhaa100 commented on May 20, 2024

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

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.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Guess you haven't had time!?

from sirix.

JohannesLichtenberger avatar JohannesLichtenberger commented on May 20, 2024

Hope you're doing fine again :-)

from sirix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.