<div dir="ltr">So, switching back to DirectByteBuffers, and removing the disabling of explicit GCs still crashes on my laptop (swapping + close to 32 Gb RAM used)...<div><br></div><div>kind regards</div><div>Johannes</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Sa., 17. Feb. 2024 um 10:22 Uhr schrieb Stefan Johansson <<a href="mailto:stefan.johansson@oracle.com">stefan.johansson@oracle.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 2024-02-17 00:36, Johannes Lichtenberger wrote:<br>
> I just removed "-XX+DisableExplizitGC", increased max direct memory size <br>
> to 5g (-XX:MaxDirectMemorySize=5g), but also changed <br>
> Bytes::elasticByteBuffer to Bytes.elasticHeapByteBuffer(60_000);<br>
> to use on heap ByteBuffers.<br>
> <br>
<br>
Just for clarity, when using HeapByteBuffers the MaxDirectMemorySize has <br>
no effect since the ByteBuffers will be stored on the heap. But if you <br>
keep going with DirectByteBuffers, this might make sense to give some <br>
more head room.<br>
<br>
> However, the performance seems to be way worse. I've repeated the test <br>
> several times, but with both G1 and non generational ZGC it's ~50s for <br>
> importing the JSON file in the first case vs ~100s using generational <br>
> ZGC, using Temurin 21.0.2 with similar values for the actual traversals.<br>
> <br>
<br>
Ok, sounds like using DirectByteBuffers is a performance win here. If so <br>
I would just continue testing using DirectByteBuffers and allowing <br>
explicit GCs to ensure they are cleaned out properly.<br>
<br>
>  From the log on STDOUT, I can see this (meaning 0,319s and 0,440s... <br>
> pause times?)<br>
> <br>
<br>
No, with ZGC the time here is not the pause time, it's the time to <br>
complete the whole GC. ZGC is a concurrent GC, meaning that most of the <br>
GC work is done concurrently with the Java application still running. <br>
There are still a some very short pauses, all way below 1ms. You can see <br>
them if you look at the detailed log:<br>
<br>
[30,938s][info][gc          ] GC(3) Minor Collection (Allocation Rate)<br>
[30,938s][info][gc,phases   ] GC(3) y: Young Generation<br>
[30,938s][info][gc,phases   ] GC(3) y: Pause Mark Start 0,060ms<br>
[31,322s][info][gc,phases   ] GC(3) y: Concurrent Mark 383,563ms<br>
[31,322s][info][gc,phases   ] GC(3) y: Pause Mark End 0,046ms<br>
[31,322s][info][gc,phases   ] GC(3) y: Concurrent Mark Free 0,009ms<br>
[31,322s][info][gc,phases   ] GC(3) y: Concurrent Reset Relocation Set <br>
0,201ms<br>
[31,335s][info][gc,phases   ] GC(3) y: Concurrent Select Relocation Set <br>
13,228ms<br>
[31,335s][info][gc,phases   ] GC(3) y: Pause Relocate Start 0,019ms<br>
[31,381s][info][gc,phases   ] GC(3) y: Concurrent Relocate 45,967ms<br>
[31,382s][info][gc,phases   ] GC(3) y: Young Generation <br>
9726M(63%)->518M(3%) 0,444s<br>
[31,382s][info][gc          ] GC(3) Minor Collection (Allocation Rate) <br>
9726M(63%)->518M(3%) 0,444s<br>
<br>
Here I included the phase-logs for a single GC of the young generation, <br>
where you can clearly see how much time was spent in which part of the <br>
GC and as you can see the three pauses are all very very short.<br>
<br>
Stefan<br>
<br>
> [35,718s][info   ][gc      ] GC(9) Minor Collection (Allocation Rate) <br>
> 12462M(81%)->1556M(10%) 0,319s<br>
> [40,871s][info   ][gc      ] GC(10) Minor Collection (Allocation Rate)<br>
> [41,311s][info   ][gc      ] GC(10) Minor Collection (Allocation Rate) <br>
> 13088M(85%)->1432M(9%) 0,440s<br>
> [46,236s][info   ][gc      ] GC(11) Minor Collection (Allocation Rate)<br>
> [46,603s][info   ][gc      ] GC(11) Minor Collection (Allocation Rate) <br>
> 12406M(81%)->1676M(11%) 0,367s<br>
> [51,445s][info   ][gc      ] GC(12) Minor Collection (Allocation Rate)<br>
> [51,846s][info   ][gc      ] GC(12) Minor Collection (Allocation Rate) <br>
> 12848M(84%)->1556M(10%) 0,401s<br>
> [56,203s][info   ][gc      ] GC(13) Major Collection (Proactive)<br>
> [56,368s][info   ][gc      ] GC(13) Major Collection (Proactive) <br>
> 11684M(76%)->484M(3%) 0,166s<br>
> <br>
> kind regards<br>
> Johannes<br>
> <br>
> Am Fr., 16. Feb. 2024 um 22:39 Uhr schrieb Erik Osterlund <br>
> <<a href="mailto:erik.osterlund@oracle.com" target="_blank">erik.osterlund@oracle.com</a> <mailto:<a href="mailto:erik.osterlund@oracle.com" target="_blank">erik.osterlund@oracle.com</a>>>:<br>
> <br>
>     It’s worth noting that when using ZGC, calling System.gc does not<br>
>     invoke a classic disastrously long GC pause. Instead, a concurrent<br>
>     GC is triggered, which should be not that noticeable to the<br>
>     application. The thread calling System.gc is blocked until the GC is<br>
>     done, but the other threads can run freely.<br>
> <br>
>     /Erik<br>
> <br>
>      > On 16 Feb 2024, at 21:55, Stefan Johansson<br>
>     <<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a> <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>>><br>
>     wrote:<br>
>      ><br>
>      > <br>
>      ><br>
>      >> On 2024-02-16 18:04, Johannes Lichtenberger wrote:<br>
>      >> Thanks a lot, I wasn't even aware of the fact, that<br>
>     DirectByteBuffers use System.gc() and I always had in mind that<br>
>     calling System.gc() at least in application code is bad practice (or<br>
>     at least we shouldn't rely on it) and I think I read somewhere a<br>
>     while ago, that it's recommended to even disable this, but may be<br>
>     completely wrong, of course.<br>
>      > In most cases callling System.gc() is bad practice, in some<br>
>     special cases it might be needed.<br>
>      ><br>
>      >> I'll change it to on-heap byte buffers tomorrow :-)<br>
>      >> I think your GC log entries were from G1, right? It seems ZGC<br>
>     always tries to use the full heap :-)<br>
>      ><br>
>      > Yes, the snippet was G1, it was mostly to show that the pressure<br>
>     isn't high. You are correct that ZGC uses more of the given heap but<br>
>     the collections are pretty far apart and I'm certian it would<br>
>     function well with a smaller heap as well. Maybe in that case some<br>
>     Major collections would be triggered.<br>
>      ><br>
>      >> Kind regards and thanks for sharing your insights.<br>
>      ><br>
>      > No problem. We appriciate the feedback,<br>
>      > StefanJ<br>
>      ><br>
>      >> Have a nice weekend as well<br>
>      >> Johannes<br>
>      >> Stefan Johansson <<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>>>> schrieb am Fr., 16. Feb.<br>
>     2024, 17:38:<br>
>      >>    Hi,<br>
>      >>    Some comments inline.<br>
>      >>    On 2024-02-16 16:47, Johannes Lichtenberger wrote:<br>
>      >>     > Thanks a lot for looking into it, I've added<br>
>      >>     > `-XX:MaxDirectMemorySize=2g` only recently, but without it<br>
>     failed as<br>
>      >>     > well,  so not sure what the default is. Will definitely<br>
>     check your<br>
>      >>     > suggestions :-)<br>
>      >>     ><br>
>      >>    If you don't set a limit it will be set to:<br>
>      >>    Runtime.getRuntime().maxMemory()<br>
>      >>    So likely a good idea to set a reasonable limit, but the<br>
>     smaller the<br>
>      >>    limit is the more frequent we need to run reference<br>
>     processing to allow<br>
>      >>    memory to be freed up.<br>
>      >>     > Sadly I'm currently working alone on the project in my<br>
>     spare time<br>
>      >>     > (besides professionally switched from Java/Kotlin stuff to the<br>
>      >>    embedded<br>
>      >>     > software world) and I'm not sure if the current<br>
>     architecture of<br>
>      >>    Sirix is<br>
>      >>     > limited by too much GC pressure. I'd probably have to check<br>
>      >>    Cassandra at<br>
>      >>     > some point and look into flame graphs and stuff for their<br>
>      >>    integration<br>
>      >>     > tests, but maybe you can give some general insights/advice...<br>
>      >>     ><br>
>      >>     > Yesterday evening I switched to other JDKs (also I want to<br>
>     test with<br>
>      >>     > Shenandoah in particular), but I think especially the<br>
>     better escape<br>
>      >>     > analysis of the GraalVM is a huge plus in the case of<br>
>     SirixDB (for<br>
>      >>     > insertion on my laptop it's ~90s vs ~60s),  but I think it<br>
>     should be<br>
>      >>     > faster and currently my suspicion is that garbage is a major<br>
>      >>    performance<br>
>      >>     > issue.<br>
>      >>     ><br>
>      >>     > Maybe the GC pressure in general is a major issue, as in<br>
>     the CPU<br>
>      >>    Flame<br>
>      >>     > graph IIRC the G1 had about 20% stack frames allocated and non<br>
>      >>     > generational ZGC even around 40% taking all threads into<br>
>     account.<br>
>      >>     ><br>
>      >>      From what I/we see, the GC pressure in the given test is<br>
>     not high.<br>
>      >>    The<br>
>      >>    allocation rate is below 1GB/s and since most of it die young<br>
>     the GCs<br>
>      >>    are fairly cheap. In this log snippet G1 shows a GC every 5s<br>
>     and the<br>
>      >>    pause time is below 50ms:<br>
>      >>    [296,016s][info   ][gc      ] GC(90) Pause Young (Normal) (G1<br>
>      >>    Evacuation<br>
>      >>    Pause) 5413M->1849M(6456M) 35,577ms<br>
>      >>    [301,103s][info   ][gc      ] GC(91) Pause Young (Normal) (G1<br>
>      >>    Evacuation<br>
>      >>    Pause) 5417M->1848M(6456M) 33,357ms<br>
>      >>    [306,041s][info   ][gc      ] GC(92) Pause Young (Normal) (G1<br>
>      >>    Evacuation<br>
>      >>    Pause) 5416M->1848M(6456M) 32,763ms<br>
>      >>    [310,849s][info   ][gc      ] GC(93) Pause Young (Normal) (G1<br>
>      >>    Evacuation<br>
>      >>    Pause) 5416M->1847M(6456M) 33,086ms<br>
>      >>    I also see that the heap never expands to more the ~6.5GB even<br>
>      >>    though it<br>
>      >>    is allow to be 15GB and this also suggest that the GC is not<br>
>     under much<br>
>      >>    pressure. As I said in the previous mail, the reason<br>
>     Generational ZGC<br>
>      >>    don't free up the direct memory without the System.gc() calls<br>
>     is that<br>
>      >>    the GC pressure is not high enough to trigger any Major<br>
>     cycles. So I<br>
>      >>    would strongly recommend you to not run with<br>
>     -XX+DisableExplicitGC<br>
>      >>    unless you really have to. Since you are using<br>
>     DirectByteBuffers and<br>
>      >>    they use System.gc() to help free memory when the limit is<br>
>     reached.<br>
>      >>     > So in general I'm thinking about backing the<br>
>     KeyValueLeafPages with<br>
>      >>     > MemorySegments, but I think due to variable sized pages<br>
>     it's getting<br>
>      >>     > tricky, plus I currently don't have the time for changing<br>
>      >>    fundamental<br>
>      >>     > stuff and I'm even not sure if it'll bring a performance<br>
>     boost, as I<br>
>      >>     > have to adapt neighbour relationships of the nodes often and<br>
>      >>    off-heap<br>
>      >>     > memory access might be slightly worse performance wise.<br>
>      >>     ><br>
>      >>     > What do you think?<br>
>      >>     ><br>
>      >>    I know to little about the application to be able to give<br>
>     advice here,<br>
>      >>    but I would first start with having most memory on heap. Only<br>
>     large<br>
>      >>    long<br>
>      >>    lived stuff off-heap, if really needed. Looking at the test<br>
>     at hand, it<br>
>      >>    really doesn't look like it is long lived stuff that is<br>
>     placed off heap.<br>
>      >>     > I've attached a memory flame graph and there it seems the<br>
>     byte array<br>
>      >>     > from deserializing each page is prominent, but that might be<br>
>      >>    something I<br>
>      >>     > can't even avoid (after decompression via Snappy or via<br>
>     another<br>
>      >>    lib and<br>
>      >>     > maybe also decryption in the future).<br>
>      >>     ><br>
>      >>     > As of now G1 with GraalVM seems to perform best (a little<br>
>     bit better<br>
>      >>     > than with non generational ZGC, but I thought ZGC or maybe<br>
>      >>    Shenandoah<br>
>      >>     > would improve the situation). But as said I may have to<br>
>     generate way<br>
>      >>     > less garbage after all in general for good performance!?<br>
>      >>     ><br>
>      >>     > All in all maybe due to most objects die young maybe also the<br>
>      >>     > generational GCs are not needed (that said if enough RAM is<br>
>      >>    available<br>
>      >>     > and the Caffeine Caches are sized accordingly most objects may<br>
>      >>    die old).<br>
>      >>     > But apparently the byte arrays holding the page data still die<br>
>      >>    young (in<br>
>      >>     > AbstractReader::deserialize). In fact I'm not even sure<br>
>     why they<br>
>      >>    escape,<br>
>      >>     > but currently I'm on my phone.<br>
>      >>     ><br>
>      >>    It's when most objects die young the Generational GC really<br>
>     shines,<br>
>      >>    because it can handle the short lived objects without having<br>
>     to look at<br>
>      >>    the long lived objects. So I would say Generational ZGC is a<br>
>     good fit<br>
>      >>    here, but we need to let the System.gc() run to allow reference<br>
>      >>    processing or slightly re-design and use HeapByteBuffers.<br>
>      >>    Have a nice weekend,<br>
>      >>    Stefan<br>
>      >>     > Kind regards<br>
>      >>     > Johannes<br>
>      >>     ><br>
>      >>     > Stefan Johansson <<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>><br>
>      >>    <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>>><br>
>      >>     > <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>><br>
>      >>    <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.johansson@oracle.com" target="_blank">stefan.johansson@oracle.com</a>>>>> schrieb am Fr., 16. Feb.<br>
>      >>    2024, 13:43:<br>
>      >>     ><br>
>      >>     >     Hi Johannes,<br>
>      >>     ><br>
>      >>     >     We've spent some more time looking at this and getting the<br>
>      >>    json-file to<br>
>      >>     >     reproduced it made it easy to verify our suspicions.<br>
>     Thanks for<br>
>      >>     >     uploading it.<br>
>      >>     ><br>
>      >>     >     There are a few things playing together here. The test is<br>
>      >>    making quite<br>
>      >>     >     heavy use of DirectByteBuffers and you limit the usage<br>
>     to 2G<br>
>      >>     >     (-XX:MaxDirectMemorySize=2g). The life cycle and<br>
>     freeing of<br>
>      >>    the native<br>
>      >>     >     memory part of the DirectByteBuffer rely on reference<br>
>      >>    processing. In<br>
>      >>     >     generational ZGC reference processing is only done<br>
>     during Major<br>
>      >>     >     collections and since the general GC preassure in this<br>
>      >>    benchmark is<br>
>      >>     >     very<br>
>      >>     >     low (most objects die young), we do not trigger that<br>
>     many Major<br>
>      >>     >     collections.<br>
>      >>     ><br>
>      >>     >     Normaly this would not be a problem. To avoid throwing<br>
>     an out<br>
>      >>    of memory<br>
>      >>     >     error (due to hitting the direct buffer memory limit) too<br>
>      >>    early the JDK<br>
>      >>     >     triggers a System.gc(). This should trigger reference<br>
>      >>    procesing and all<br>
>      >>     >     buffers that are no longer in use would be freed.<br>
>     Since you<br>
>      >>    specify the<br>
>      >>     >     option -XX:+DisableExplicitGC all these calls to<br>
>     trigger GCs are<br>
>      >>     >     ignored<br>
>      >>     >     and no direct memory will be freed. So in our testing,<br>
>     just<br>
>      >>    removing<br>
>      >>     >     this flags makes the test pass.<br>
>      >>     ><br>
>      >>     >     Another solution is to look at using HeapByteBuffers<br>
>     instead<br>
>      >>    and don't<br>
>      >>     >     have to worry about the direct memory usage. The<br>
>     OpenHFT lib<br>
>      >>    seems to<br>
>      >>     >     have support for this by just using<br>
>      >>    elasticHeapByteBuffer(...) instead<br>
>      >>     >     of elasticByteBuffer().<br>
>      >>     ><br>
>      >>     >     Lastly, the reason for this working with<br>
>     non-generational ZGC is<br>
>      >>     >     that it<br>
>      >>     >     does reference processing for every GC.<br>
>      >>     ><br>
>      >>     >     Hope this helps,<br>
>      >>     >     StefanJ<br>
>      >>     ><br>
>      >>     ><br>
>      >>     >     On 2024-02-15 21:53, Johannes Lichtenberger wrote:<br>
>      >>     >      > It's a laptop, I've attached some details.<br>
>      >>     >      ><br>
>      >>     >      > Furthermore, if it seems worth digging deeper into the<br>
>      >>    issue, the<br>
>      >>     >     JSON<br>
>      >>     >      > file is here for one week:<br>
>      >>     >      > <a href="https://www.transfernow.net/dl/20240215j9NaPTc0" rel="noreferrer" target="_blank">https://www.transfernow.net/dl/20240215j9NaPTc0</a><br>
>     <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNTFwuk6i$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNTFwuk6i$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$</a> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a>> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a>>>><br>
>      >>     >      > <<a href="https://www.transfernow.net/dl/20240215j9NaPTc0" rel="noreferrer" target="_blank">https://www.transfernow.net/dl/20240215j9NaPTc0</a><br>
>     <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNTFwuk6i$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNTFwuk6i$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$</a> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybJynYpht$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a>> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a> <<a href="https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://www.transfernow.net/dl/20240215j9NaPTc0__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeDXD5_-$</a>>>>><br>
>      >>     >      ><br>
>      >>     >      > You'd have to unzip into<br>
>      >>    bundles/sirix-core/src/test/resources/json,<br>
>      >>     >      > remove the @Disabled annotation and run the test<br>
>      >>     >      > JsonShredderTest::testChicagoDescendantAxis<br>
>      >>     >      ><br>
>      >>     >      > The test JVM parameters are specified in the parent<br>
>      >>    build.gradle<br>
>      >>     >     in the<br>
>      >>     >      > project root folder.<br>
>      >>     >      ><br>
>      >>     >      > The GitHub repo: <a href="https://github.com/sirixdb/sirix" rel="noreferrer" target="_blank">https://github.com/sirixdb/sirix</a><br>
>     <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNbw9BBhL$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNbw9BBhL$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a>>>><br>
>      >>     >      > <<a href="https://github.com/sirixdb/sirix" rel="noreferrer" target="_blank">https://github.com/sirixdb/sirix</a><br>
>     <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNbw9BBhL$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNbw9BBhL$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybALU2RDy$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFUUPdeUD$</a>>>>><br>
>      >>     >      ><br>
>      >>     >      > Screenshot from 2024-02-15 21-43-33.png<br>
>      >>     >      ><br>
>      >>     >      > kind regards<br>
>      >>     >      > Johannes<br>
>      >>     >      ><br>
>      >>     >      > Am Do., 15. Feb. 2024 um 20:01 Uhr schrieb Peter Booth<br>
>      >>     >      > <<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>><br>
>     <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>>><br>
>      >>    <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>><br>
>     <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>>>><br>
>      >>     >     <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>><br>
>     <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>>><br>
>      >>    <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>><br>
>     <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a> <mailto:<a href="mailto:peter_booth@me.com" target="_blank">peter_booth@me.com</a>>>>>>:<br>
>      >>     >      ><br>
>      >>     >      >     Just curious - what CPU, physical memory and OS are<br>
>      >>    you using?<br>
>      >>     >      >     Sent from my iPhone<br>
>      >>     >      ><br>
>      >>     >      >>     On Feb 15, 2024, at 12:23 PM, Johannes<br>
>     Lichtenberger<br>
>      >>     >      >>     <<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>><br>
>      >>     >      >>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>>>> wrote:<br>
>      >>     >      >><br>
>      >>     >      >>     <br>
>      >>     >      >>     I guess I don't know which JDK it picks for the<br>
>      >>    tests, but I<br>
>      >>     >     guess<br>
>      >>     >      >>     OpenJDK<br>
>      >>     >      >><br>
>      >>     >      >>     Johannes Lichtenberger<br>
>      >>    <<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>><br>
>      >>     >      >>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>>>> schrieb am Do., 15.<br>
>      >>     >      >>     Feb. 2024, 17:58:<br>
>      >>     >      >><br>
>      >>     >      >>         However, it's the same with: ./gradlew<br>
>      >>     >      >>           <br>
>       -Dorg.gradle.java.home=/home/johannes/.jdks/openjdk-21.0.2<br>
>      >>     >      >>         :sirix-core:test --tests<br>
>      >>     >      >><br>
>      >>     >         <br>
>       io.sirix.service.json.shredder.JsonShredderTest.testChicagoDescendantAxis   using OpenJDK hopefully<br>
>      >>     >      >><br>
>      >>     >      >>         Am Do., 15. Feb. 2024 um 17:54 Uhr schrieb<br>
>     Johannes<br>
>      >>     >      >>         Lichtenberger<br>
>     <<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>><br>
>      >>     >      >>         <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>>>>:<br>
>      >>     >      >><br>
>      >>     >      >>             I've attached two logs, the first one<br>
>     without<br>
>      >>     >      >>             -XX:+Generational, the second one with the<br>
>      >>    option set,<br>
>      >>     >      >>             even though I also saw, that<br>
>     generational ZGC is<br>
>      >>     >     going to<br>
>      >>     >      >>             be supported in GraalVM 24.1 in<br>
>     September...<br>
>      >>    so not sure<br>
>      >>     >      >>             what this does :)<br>
>      >>     >      >><br>
>      >>     >      >>             Am Do., 15. Feb. 2024 um 17:52 Uhr schrieb<br>
>      >>    Johannes<br>
>      >>     >      >>             Lichtenberger<br>
>      >>    <<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>><br>
>      >>     >      >>           <br>
>       <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>><br>
>      >>    <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a><br>
>     <mailto:<a href="mailto:lichtenberger.johannes@gmail.com" target="_blank">lichtenberger.johannes@gmail.com</a>>>>>>:<br>
>      >>     >      >><br>
>      >>     >      >>                 Strange, so does it simply ignore the<br>
>      >>    option? The<br>
>      >>     >      >>                 following is the beginning of the<br>
>     output<br>
>      >>    from _non_<br>
>      >>     >      >>                 generational ZGC:<br>
>      >>     >      >><br>
>      >>     >      >>               <br>
>       johannes@luna:~/IdeaProjects/sirix$ ./gradlew<br>
>      >>     >      >><br>
>      >>     >         <br>
>       -Dorg.gradle.java.home=/home/johannes/.sdkman/candidates/java/21.0.2-graal :sirix-core:test --tests io.sirix.service.json.shredder.JsonShredderTest.testChicagoDescendantAxis<br>
>      >>     >      >><br>
>      >>     >      >>                 > Configure project :<br>
>      >>     >      >>                 The 'sonarqube' task depends on<br>
>     compile<br>
>      >>    tasks. This<br>
>      >>     >      >>                 behavior is now deprecated and will be<br>
>      >>    removed in<br>
>      >>     >      >>                 version 5.x. To avoid implicit<br>
>      >>    compilation, set<br>
>      >>     >      >>                 property<br>
>     'sonar.gradle.skipCompile' to 'true'<br>
>      >>     >     and make<br>
>      >>     >      >>                 sure your project is compiled, before<br>
>      >>    analysis has<br>
>      >>     >      >>                 started.<br>
>      >>     >      >>                 The 'sonar' task depends on compile<br>
>      >>    tasks. This<br>
>      >>     >      >>                 behavior is now deprecated and will be<br>
>      >>    removed in<br>
>      >>     >      >>                 version 5.x. To avoid implicit<br>
>      >>    compilation, set<br>
>      >>     >      >>                 property<br>
>     'sonar.gradle.skipCompile' to 'true'<br>
>      >>     >     and make<br>
>      >>     >      >>                 sure your project is compiled, before<br>
>      >>    analysis has<br>
>      >>     >      >>                 started.<br>
>      >>     >      >>                 [1,627s][info   ][gc      ] GC(0)<br>
>     Garbage<br>
>      >>    Collection<br>
>      >>     >      >>                 (Metadata GC Threshold)<br>
>     84M(1%)->56M(0%)<br>
>      >>     >      >><br>
>      >>     >      >>                 > Task :sirix-core:test<br>
>      >>     >      >>                 [0.001s][warning][pagesize]<br>
>     UseLargePages<br>
>      >>     >     disabled, no<br>
>      >>     >      >>                 large pages configured and<br>
>     available on<br>
>      >>    the system.<br>
>      >>     >      >>                 [1.253s][info   ][gc      ] Using<br>
>     The Z<br>
>      >>    Garbage<br>
>      >>     >     Collector<br>
>      >>     >      >><br>
>      >>     >      >>                 [2,930s][info   ][gc      ] GC(1)<br>
>     Garbage<br>
>      >>    Collection<br>
>      >>     >      >>                 (Warmup) 1616M(11%)->746M(5%)<br>
>      >>     >      >>                 [4,445s][info   ][gc      ] GC(2)<br>
>     Garbage<br>
>      >>    Collection<br>
>      >>     >      >>                 (Warmup) 3232M(21%)->750M(5%)<br>
>      >>     >      >>                 [5,751s][info   ][gc      ] GC(3)<br>
>     Garbage<br>
>      >>    Collection<br>
>      >>     >      >>                 (Warmup) 4644M(30%)->1356M(9%)<br>
>      >>     >      >>                 [9,886s][info   ][gc      ] GC(4)<br>
>     Garbage<br>
>      >>    Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     10668M(69%)->612M(4%)<br>
>      >>     >      >>                 [10,406s][info   ][gc      ] GC(5)<br>
>     Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate) 2648M(17%)->216M(1%)<br>
>      >>     >      >>                 [13,931s][info   ][gc      ] GC(6)<br>
>     Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     11164M(73%)->1562M(10%)<br>
>      >>     >      >>                 [16,908s][info   ][gc      ] GC(7)<br>
>     Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     11750M(76%)->460M(3%)<br>
>      >>     >      >>                 [20,690s][info   ][gc      ] GC(8)<br>
>     Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     12670M(82%)->726M(5%)<br>
>      >>     >      >>                 [24,376s][info   ][gc      ] GC(9)<br>
>     Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     13422M(87%)->224M(1%)<br>
>      >>     >      >>                 [28,152s][info   ][gc      ]<br>
>     GC(10) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Proactive) 13474M(88%)->650M(4%)<br>
>      >>     >      >>                 [31,526s][info   ][gc      ]<br>
>     GC(11) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     12072M(79%)->1472M(10%)<br>
>      >>     >      >>                 [34,754s][info   ][gc      ]<br>
>     GC(12) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     13050M(85%)->330M(2%)<br>
>      >>     >      >>                 [38,478s][info   ][gc      ]<br>
>     GC(13) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     13288M(87%)->762M(5%)<br>
>      >>     >      >>                 [41,936s][info   ][gc      ]<br>
>     GC(14) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Proactive) 13294M(87%)->504M(3%)<br>
>      >>     >      >>                 [45,353s][info   ][gc      ]<br>
>     GC(15) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     12984M(85%)->268M(2%)<br>
>      >>     >      >>                 [48,861s][info   ][gc      ]<br>
>     GC(16) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     13008M(85%)->306M(2%)<br>
>      >>     >      >>                 [52,133s][info   ][gc      ]<br>
>     GC(17) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Proactive) 12042M(78%)->538M(4%)<br>
>      >>     >      >>                 [55,705s][info   ][gc      ]<br>
>     GC(18) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     12420M(81%)->1842M(12%)<br>
>      >>     >      >>                 [59,000s][info   ][gc      ]<br>
>     GC(19) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     12458M(81%)->1422M(9%)<br>
>      >>     >      >>                 [64,501s][info   ][gc      ]<br>
>     Allocation<br>
>      >>    Stall (Test<br>
>      >>     >      >>                 worker) 59,673ms<br>
>      >>     >      >>                 [64,742s][info   ][gc      ]<br>
>     Allocation<br>
>      >>    Stall (Test<br>
>      >>     >      >>                 worker) 240,077ms<br>
>      >>     >      >>                 [65,806s][info   ][gc      ]<br>
>     GC(20) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     13808M(90%)->6936M(45%)<br>
>      >>     >      >>                 [66,476s][info   ][gc      ]<br>
>     GC(21) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Stall)<br>
>     7100M(46%)->4478M(29%)<br>
>      >>     >      >>                 [69,471s][info   ][gc      ]<br>
>     GC(22) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     10098M(66%)->5888M(38%)<br>
>      >>     >      >>                 [72,252s][info   ][gc      ]<br>
>     GC(23) Garbage<br>
>      >>     >     Collection<br>
>      >>     >      >>                 (Allocation Rate)<br>
>     11226M(73%)->5816M(38%)<br>
>      >>     >      >><br>
>      >>     >      >>                 ...<br>
>      >>     >      >><br>
>      >>     >      >>                 So even here I can see some allocation<br>
>      >>    stalls.<br>
>      >>     >      >><br>
>      >>     >      >>                 Running the Same with<br>
>     -XX:+ZGenerational in<br>
>      >>     >      >>                 build.gradle probably using<br>
>     GraalVM does<br>
>      >>    something<br>
>      >>     >      >>                 differnt, but I don't know what... at<br>
>      >>    least off-heap<br>
>      >>     >      >>                 memory is exhausted at some point<br>
>     due to<br>
>      >>    direct byte<br>
>      >>     >      >>                 buffer usage!?<br>
>      >>     >      >><br>
>      >>     >      >>                 So, I'm not sure what's the<br>
>     difference,<br>
>      >>    though.<br>
>      >>     >      >><br>
>      >>     >      >>                 With this:<br>
>      >>     >      >><br>
>      >>     >      >>                 "-XX:+UseZGC",<br>
>      >>     >      >><br>
>      >>     >       "-Xlog:gc*=debug:file=zgc-generational-detailed.log",<br>
>      >>     >      >>                 "-XX:+ZGenerational",<br>
>      >>     >      >>                 "-verbose:gc",<br>
>      >>     >      >>                 "-XX:+HeapDumpOnOutOfMemoryError",<br>
>      >>     >      >>                 "-XX:HeapDumpPath=heapdump.hprof",<br>
>      >>     >      >>                 "-XX:MaxDirectMemorySize=2g",<br>
>      >>     >      >><br>
>      >>     >      >><br>
>      >>     >      >>                 Caused by:<br>
>     java.lang.OutOfMemoryError: Cannot<br>
>      >>     >     reserve 60000 bytes of direct buffer memory (allocated:<br>
>      >>    2147446560,<br>
>      >>     >     limit: 2147483648)<br>
>      >>     >      >>                      at<br>
>      >>     >     java.base/java.nio.Bits.reserveMemory(Bits.java:178)<br>
>      >>     >      >>                      at<br>
>      >>     >       <br>
>       java.base/java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:111)<br>
>      >>     >      >>                      at<br>
>      >>     >   <br>
>       java.base/java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:360)<br>
>      >>     >      >>                      at<br>
>      >>     >       <br>
>       net.openhft.chronicle.bytes.internal.NativeBytesStore.elasticByteBuffer(NativeBytesStore.java:191)<br>
>      >>     >      >>                      at<br>
>      >>     >       <br>
>       net.openhft.chronicle.bytes.BytesStore.elasticByteBuffer(BytesStore.java:192)<br>
>      >>     >      >>                      at<br>
>      >>     >       <br>
>       net.openhft.chronicle.bytes.Bytes.elasticByteBuffer(Bytes.java:176)<br>
>      >>     >      >>                      at<br>
>      >>     >       <br>
>       net.openhft.chronicle.bytes.Bytes.elasticByteBuffer(Bytes.java:148)<br>
>      >>     >      >>                      at <a href="http://io.sirix.access.trx.page" rel="noreferrer" target="_blank">io.sirix.access.trx.page</a><br>
>     <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNazagnbG$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNazagnbG$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a>> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a>>>>.NodePageTrx.lambda$parallelSerializationOfKeyValuePages$1(NodePageTrx.java:443)<br>
>      >>     >      >><br>
>      >>     >      >><br>
>      >>     >      >><br>
>      >>     >      >>                 Am Do., 15. Feb. 2024 um 12:05 Uhr<br>
>      >>    schrieb Stefan<br>
>      >>     >      >>                 Karlsson<br>
>     <<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a> <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>><br>
>      >>    <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>><br>
>      >>    <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>>>><br>
>      >>     >      >>                 <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>><br>
>      >>    <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>>><br>
>      >>     >     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>><br>
>      >>    <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a><br>
>     <mailto:<a href="mailto:stefan.karlsson@oracle.com" target="_blank">stefan.karlsson@oracle.com</a>>>>>>:<br>
>      >>     >      >><br>
>      >>     >      >>                     Hi Johannes,<br>
>      >>     >      >><br>
>      >>     >      >>                     We tried to look at the log<br>
>     files and<br>
>      >>    the jfr<br>
>      >>     >      >>                     files, but couldn't find<br>
>      >>     >      >>                     an OotOfMemoryError in any of<br>
>     them.<br>
>      >>    Do you think<br>
>      >>     >      >>                     you could try to rerun<br>
>      >>     >      >>                     and capture the entire GC log<br>
>     from the<br>
>      >>     >      >>                     OutOfMemoryError run?<br>
>      >>     >      >><br>
>      >>     >      >>                     A few things to note:<br>
>      >>     >      >><br>
>      >>     >      >>                     1) You seem to be running the<br>
>     Graal<br>
>      >>    compiler.<br>
>      >>     >      >>                     Graal doesn't support<br>
>      >>     >      >>                     Generational ZGC, so you are<br>
>     going to run<br>
>      >>     >      >>                     different compilers when you<br>
>      >>     >      >>                     compare Singlegen ZGC with<br>
>      >>    Generational ZGC.<br>
>      >>     >      >><br>
>      >>     >      >>                     2) It's not clear to me that the<br>
>      >>    provided JFR<br>
>      >>     >      >>                     files matches the provided<br>
>      >>     >      >>                     log files.<br>
>      >>     >      >><br>
>      >>     >      >>                     3) The JFR files show that<br>
>      >>     >     -XX:+UseLargePages are<br>
>      >>     >      >>                     used, but the gc+init<br>
>      >>     >      >>                     logs shows 'Large Page Support:<br>
>      >>    Disabled', you<br>
>      >>     >      >>                     might want to look into<br>
>      >>     >      >>                     why that is the case.<br>
>      >>     >      >><br>
>      >>     >      >>                     4) The singlegen JFR file has a<br>
>      >>     >      >>                     -Xlog:gc:g1-chicago.log line.<br>
>     It should<br>
>      >>     >      >>                     probably be named zgc-chicago.log.<br>
>      >>     >      >><br>
>      >>     >      >>                     Cheers,<br>
>      >>     >      >>                     StefanK<br>
>      >>     >      >><br>
>      >>     >      >>                     On 2024-02-14 17:36, Johannes<br>
>      >>    Lichtenberger<br>
>      >>     >     wrote:<br>
>      >>     >      >>                     > Hello,<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > a test of my little DB project<br>
>      >>    fails using<br>
>      >>     >      >>                     generational ZGC, but not<br>
>      >>     >      >>                     > with ZGC and G1 (out of<br>
>     memory error).<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > To be honest, I guess the<br>
>      >>    allocation rate and<br>
>      >>     >      >>                     thus GC pressure, when<br>
>      >>     >      >>                     > traversing a resource in<br>
>     SirixDB is<br>
>      >>     >      >>                     unacceptable. The strategy is to<br>
>      >>     >      >>                     > create fine-grained nodes<br>
>     from JSON<br>
>      >>    input and<br>
>      >>     >      >>                     store these in a trie.<br>
>      >>     >      >>                     > First, a 3,8Gb JSON file is<br>
>      >>    shredded and<br>
>      >>     >      >>                     imported. Next, a preorder<br>
>      >>     >      >>                     > traversal of the generated trie<br>
>      >>    traverses<br>
>      >>     >     a trie<br>
>      >>     >      >>                     (with leaf pages<br>
>      >>     >      >>                     > storing 1024 nodes each and<br>
>     in total<br>
>      >>     >      >>                     ~300_000_000 (and these are going<br>
>      >>     >      >>                     > to be deserialized one by<br>
>     one). The<br>
>      >>    pages are<br>
>      >>     >      >>                     furthermore referenced<br>
>      >>     >      >>                     > in memory through<br>
>      >>    PageReference::setPage.<br>
>      >>     >      >>                     Furthermore, a Caffeine page<br>
>      >>     >      >>                     > cache caches the PageReferences<br>
>      >>    (keys) and the<br>
>      >>     >      >>                     pages (values) and sets<br>
>      >>     >      >>                     > the reference back to null once<br>
>      >>    entries are<br>
>      >>     >      >>                     going to be evicted<br>
>      >>     >      >>                     > (PageReference.setPage(null)).<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > However, I think the whole<br>
>     strategy of<br>
>      >>     >     having to<br>
>      >>     >      >>                     have in-memory nodes<br>
>      >>     >      >>                     > might not be best. Maybe it's<br>
>      >>    better to use<br>
>      >>     >      >>                     off-heap memory for the<br>
>      >>     >      >>                     > pages itself with<br>
>     MemorySegments,<br>
>      >>    but the<br>
>      >>     >     pages<br>
>      >>     >      >>                     are not of a fixed<br>
>      >>     >      >>                     > size, thus it may get tricky.<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > The test mentioned is this:<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     ><br>
>      >><br>
>     <a href="https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java#L69" rel="noreferrer" target="_blank">https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java#L69</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNUTAN5gn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNUTAN5gn$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$</a>>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a>>>> <<a href="https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java#L69" rel="noreferrer" target="_blank">https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java#L69</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNUTAN5gn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNUTAN5gn$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybA2KQCpC$</a>>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/blob/248ab141632c94c6484a3069a056550516afb1d2/bundles/sirix-core/src/test/java/io/sirix/service/json/shredder/JsonShredderTest.java*L69__;Iw!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFRtH2qmJ$</a>>>>><br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > I can upload the JSON file<br>
>      >>    somewhere for a<br>
>      >>     >      >>                     couple of days if needed.<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > Caused by:<br>
>     java.lang.OutOfMemoryError<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:542)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:567)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:670)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >>     >         <br>
>       java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)<br>
>      >>     >      >>                     >     at<br>
>      >>     >      >>                     > <a href="http://io.sirix.access.trx.page" rel="noreferrer" target="_blank">io.sirix.access.trx.page</a><br>
>     <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNazagnbG$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNazagnbG$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a>> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a>>>><br>
>      >>     >      >>                   <br>
>       <<a href="http://io.sirix.access.trx.page" rel="noreferrer" target="_blank">http://io.sirix.access.trx.page</a><br>
>     <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNazagnbG$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNazagnbG$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybLv7t-Xn$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a>> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a> <<a href="https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__http://io.sirix.access.trx.page__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFeoArpQf$</a>>>>>.NodePageTrx.parallelSerializationOfKeyValuePages(NodePageTrx.java:442)<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > I've uploaded several JFR<br>
>      >>    recordings and logs<br>
>      >>     >      >>                     over here (maybe besides<br>
>      >>     >      >>                     > the async profiler JFR files the<br>
>      >>    zgc-detailed<br>
>      >>     >      >>                     log is most interesting):<br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     ><br>
>      >>     >      >><br>
>      >> <a href="https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core" rel="noreferrer" target="_blank">https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core</a><br>
>     <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNVj2Peec$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNVj2Peec$</a>><br>
>      >>   <br>
>     <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$</a>>><br>
>      >>     >       <br>
>       <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a>>>> <<a href="https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core" rel="noreferrer" target="_blank">https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNVj2Peec$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!M33-mkbNfIFidOtIRYJLrdt970BIn5XjvmSvgBg0Ip6zkm5Zk7w6OG6FunFxjzDpUZju_f7FbEua8sTaS9Q3SnufNVj2Peec$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!O5j6Ri-Ostqq68q1zm71CEhSQ4CE7DqBfHZNq7cDAhU7b7CwqrnIA-ddZFaQDbOMAkgHkFriNeIrXJdRofVuv1UybMV7Rgtt$</a>>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a>> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a> <<a href="https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://github.com/sirixdb/sirix/tree/main/bundles/sirix-core__;!!ACWV5N9M2RV99hQ!MWZDuvCBsbZSYul-HLDtF_j1IBD6osBF4cBVE_bg0yM5zCqYFwzLLp7nKN3b1hq1XVFRreqUVaXiKuXjUwGbxpjjFYBlqOOx$</a>>>>><br>
>      >>     >      >>                     ><br>
>      >>     >      >>                     > kind regards<br>
>      >>     >      >>                     > Johannes<br>
>      >>     >      >><br>
>      >>     ><br>
> <br>
</blockquote></div>