overture-stack / score

Secure Cloud Object REsource: file transfer microservice
https://www.overture.bio/products/score
GNU Affero General Public License v3.0
18 stars 10 forks source link

Defect/download failure fix #371

Open Azher2Ali opened 1 year ago

Azher2Ali commented 1 year ago

As observed in local debugging by printing the debug logs, we found that the failures are occurring due to jdk incompatibility. (Adding error below for reference) These errors are printing for each and every part and therefore the completion of the download is being interrupted at the end.


 99% [##################################################]  Parts: 130/131, Checksum: 82%, Write/sec: 0B/s, Read/sec: 0B/s    2023-07-14 02:34:14.735 ERROR 38112 --- [emory-cleaner-2] 

<img width="1633" alt="Screenshot 2023-07-14 at 12 30 06 PM" src="https://github.com/overture-stack/score/assets/121898125/a7ab2315-7da0-46fd-86e4-e3a64323b119">
b.o.s.c.t.MemoryMappedDataChannel        : fail to unmap memory
2023-07-14 02:34:15.192  INFO 38112 --- [           main] .MemoryMappedParallelPartObjectTransport : all tasks are submitted, waiting for completion...
2023-07-14 02:34:15.203 ERROR 38112 --- [emory-cleaner-0] b.o.s.c.t.MemoryMappedDataChannel        : fail to unmap memory

java.lang.reflect.InaccessibleObjectException: Unable to make public void jdk.internal.ref.Cleaner.clean() accessible: module java.base does not "exports jdk.internal.ref" to unnamed module @270ddd98
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) ~[na:na]
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) ~[na:na]
    at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) ~[na:na]
    at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) ~[na:na]
    at bio.overture.score.client.transport.MemoryMappedDataChannel.commitToDisk(MemoryMappedDataChannel.java:113) ~[classes/:na]
    at bio.overture.score.client.transport.MemoryMappedParallelPartObjectTransport$FreeMemory.run(MemoryMappedParallelPartObjectTransport.java:67) ~[classes/:na]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]

We have made changes related to printing the values coming for each part and also modified the logging level to Debug to print more logs for identifying the issue in QA env.