Uploaded image for project: 'Quarkus'
  1. Quarkus
  2. QUARKUS-5983

Missing native library for snappy on windows

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      This reproducing steps expect that 3.15.1.CR1 bits are in your maven repository and you are on windows

      git clone -b 3.20 https://github.com/quarkus-qe/quarkus-test-suite.git
      
      cd quarkus-test-suite
      
      mvn -fae -V -B clean verify -Dreruns=0 -Pmessaging-modules -pl messaging/kafka-producer -Dit.test="SnappyCompressionIT"  -Dquarkus.platform.version=3.20.0.redhat-00002 -Dquarkus.platform.artifact-id="quarkus-bom" -Dquarkus.platform.group-id="com.redhat.quarkus.platform"
      

      The tests fail. If you want to see Quarkus log you need to add app.getLogs().forEach(System.out::println); to the messaging/kafka-producer/src/test/java/io/quarkus/ts/messaging/kafka/producer/SnappyCompressionIT.java before any "String logSegmentHead".

      The adding is just for see it and it's not needed to reproduce it.

      Show
      This reproducing steps expect that 3.15.1.CR1 bits are in your maven repository and you are on windows git clone -b 3.20 https: //github.com/quarkus-qe/quarkus-test-suite.git cd quarkus-test-suite mvn -fae -V -B clean verify -Dreruns=0 -Pmessaging-modules -pl messaging/kafka-producer -Dit.test= "SnappyCompressionIT" -Dquarkus.platform.version=3.20.0.redhat-00002 -Dquarkus.platform.artifact-id= "quarkus-bom" -Dquarkus.platform.group-id= "com.redhat.quarkus.platform" The tests fail. If you want to see Quarkus log you need to add app.getLogs().forEach(System.out::println); to the messaging/kafka-producer/src/test/java/io/quarkus/ts/messaging/kafka/producer/SnappyCompressionIT.java before any "String logSegmentHead". The adding is just for see it and it's not needed to reproduce it.
    • ---
    • +

      Same issue as QUARKUS-5214 just for RHBQ 3.20

      When running our test coverage on windows we see snappy test failiure. After investigation it seems that it's not possible to load native library for snappy. This happening only with RHBQ not upstream Quarkus (3.20). To me it's seems that some part of snappy productization missing. Possibly it can be some prroblem with quarkus-messaging-kafka. I also add dependency tree

      The error log

      Installed features: [cdi, kafka-client, messaging, messaging-kafka, reactive-routes, smallrye-context-propagation, vertx]
      [Producer clientId=kafka-producer-test] Error while fetching metadata with correlation id 4 : {test=UNKNOWN_TOPIC_OR_PARTITION}
      SRMSG18212: Message org.eclipse.microprofile.reactive.messaging.Message$5@1e8dc267 from channel 'test' was not sent to Kafka topic 'test' - nacking message: org.apache.kafka.common.KafkaException: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Windows and os.arch=x86_64
              at org.apache.kafka.common.compress.SnappyFactory.wrapForOutput(SnappyFactory.java:38)
              at org.apache.kafka.common.record.CompressionType$3.wrapForOutput(CompressionType.java:98)
              at org.apache.kafka.common.record.MemoryRecordsBuilder.<init>(MemoryRecordsBuilder.java:140)
              at org.apache.kafka.common.record.MemoryRecordsBuilder.<init>(MemoryRecordsBuilder.java:160)
              at org.apache.kafka.common.record.MemoryRecordsBuilder.<init>(MemoryRecordsBuilder.java:198)
              at org.apache.kafka.common.record.MemoryRecords.builder(MemoryRecords.java:591)
              at org.apache.kafka.common.record.MemoryRecords.builder(MemoryRecords.java:573)
              at org.apache.kafka.common.record.MemoryRecords.builder(MemoryRecords.java:521)
              at org.apache.kafka.clients.producer.internals.RecordAccumulator.recordsBuilder(RecordAccumulator.java:426)
              at org.apache.kafka.clients.producer.internals.RecordAccumulator.appendNewBatch(RecordAccumulator.java:410)
              at org.apache.kafka.clients.producer.internals.RecordAccumulator.append(RecordAccumulator.java:362)
              at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:1042)
              at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:964)
              at io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaProducer.lambda$send$4(ReactiveKafkaProducer.java:167)
              at io.smallrye.context.impl.wrappers.SlowContextualConsumer.accept(SlowContextualConsumer.java:21)
              at io.smallrye.mutiny.operators.uni.builders.UniCreateWithEmitter.subscribe(UniCreateWithEmitter.java:22)
              at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
              at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.performInnerSubscription(UniOnItemTransformToUni.java:81)
              at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:57)
              at io.smallrye.mutiny.operators.uni.UniOperatorProcessor.onItem(UniOperatorProcessor.java:47)
              at io.smallrye.mutiny.operators.uni.UniMemoizeOp.forwardTo(UniMemoizeOp.java:123)
              at io.smallrye.mutiny.operators.uni.UniMemoizeOp.subscribe(UniMemoizeOp.java:67)
              at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
              at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
              at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Windows and os.arch=x86_64
              at org.xerial.snappy.SnappyLoader.findNativeLibrary(SnappyLoader.java:345)
              at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:179)
              at org.xerial.snappy.SnappyLoader.loadSnappyApi(SnappyLoader.java:157)
              at org.xerial.snappy.Snappy.init(Snappy.java:70)
              at org.xerial.snappy.Snappy.<clinit>(Snappy.java:47)
              at org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:103)
              at org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:92)
              at org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:82)
              at org.apache.kafka.common.compress.SnappyFactory.wrapForOutput(SnappyFactory.java:36)
              ... 26 more
      

              ant@redhat.com Ant Stephenson
              jjedlick@redhat.com Jakub Jedlicka
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: