macpie opened a new issue, #8704:
URL: https://github.com/apache/gravitino/issues/8704

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   I have been playing with image `apache/gravitino-iceberg-rest:1.0.0` locally 
(Mac OS M1) with no issue.
   When I tried to run the same setup on my Ubuntu server, the iceberg rest 
server would not start. 
   Going back to 0.9.1 fixed the issue.
   
   ### Error message and/or stacktrace
   
   ```
   cat 
/root/gravitino-iceberg-rest-server/logs/gravitino-iceberg-rest-server.out
   2025-09-26T19:17:53.846005134Z main ERROR Unable to create Lookup for ctx 
java.lang.NoSuchMethodError: 'java.util.stream.Stream 
org.apache.logging.log4j.util.ServiceLoaderUtil.loadServices(java.lang.Class, 
java.lang.invoke.MethodHandles$Lookup, boolean)'
        at 
org.apache.logging.log4j.core.impl.ThreadContextDataInjector.getServiceProviders(ThreadContextDataInjector.java:77)
        at 
org.apache.logging.log4j.core.impl.ThreadContextDataInjector.<clinit>(ThreadContextDataInjector.java:64)
        at 
org.apache.logging.log4j.core.impl.ThreadContextDataInjector$ForDefaultThreadContextMap.<init>(ThreadContextDataInjector.java:93)
        at 
org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:91)
        at 
org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:71)
        at 
org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
        at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
 Method)
        at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
        at 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at 
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
        at 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
        at 
org.apache.logging.log4j.core.util.ReflectionUtil.instantiate(ReflectionUtil.java:189)
        at 
org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:86)
        at 
org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:105)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:135)
        at 
org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:32)
        at 
org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:74)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:138)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:136)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:58)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:32)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)
        at 
org.apache.gravitino.iceberg.server.GravitinoIcebergRESTServer.<clinit>(GravitinoIcebergRESTServer.java:32)
   
   Exception in thread "main" java.lang.NoSuchMethodError: 
'java.util.stream.Stream 
org.apache.logging.log4j.util.ServiceLoaderUtil.loadServices(java.lang.Class, 
java.lang.invoke.MethodHandles$Lookup, boolean)'
        at 
org.apache.logging.log4j.core.util.WatchManager.<init>(WatchManager.java:137)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:142)
        at 
org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:32)
        at 
org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:74)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123)
        at 
org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:138)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:136)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:58)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:32)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)
        at 
org.apache.gravitino.iceberg.server.GravitinoIcebergRESTServer.<clinit>(GravitinoIcebergRESTServer.java:32)
   ```
   
   ### How to reproduce
   
   Docker image `apache/gravitino-iceberg-rest:1.0.0` on Ubuntu
   
   ### Additional context
   
   Compose used
   ```
     postgres:
       image: postgres:16
       restart: unless-stopped
       environment:
         POSTGRES_USER: ${POSTGRES_USER}
         POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
         POSTGRES_DB: ${POSTGRES_DB}
       ports:
         - 5432:5432
       volumes:
         - postgres_data:/var/lib/postgresql/data
       healthcheck:
         test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
         interval: 10s
         timeout: 5s
         retries: 5
         start_period: 10s
   gravitino:
       build:
         context: .
         dockerfile: Dockerfile
       image: local/gravitino
       restart: unless-stopped
       depends_on:
         postgres:
           condition: service_healthy
       environment:
         - GRAVITINO_AUX_SERVICES=iceberg-rest
         - GRAVITINO_IO_IMPL=org.apache.iceberg.aws.s3.S3FileIO
         - GRAVITINO_WAREHOUSE=${AWS_BUCKET}
         - GRAVITINO_CREDENTIAL_PROVIDERS=s3-secret-key
         - GRAVITINO_S3_ACCESS_KEY=${AWS_ACCESS_KEY_ID}
         - GRAVITINO_S3_SECRET_KEY=${AWS_SECRET_ACCESS_KEY}
         - GRAVITINO_S3_REGION=${AWS_REGION}
         - GRAVITINO_CATALOG_BACKEND=jdbc
         - GRAVITINO_URI=jdbc:postgresql://postgres:5432/postgres
         - GRAVITINO_JDBC_DRIVER=org.postgresql.Driver
         - GRAVITINO_JDBC_USER=${POSTGRES_USER}
         - GRAVITINO_JDBC_PASSWORD=${POSTGRES_PASSWORD}
       ports:
         - 9001:9001
       healthcheck:
         test: ["CMD-SHELL", "curl -f http://localhost:9001/iceberg/v1/config 
|| exit 1"]
         interval: 10s
         timeout: 5s
         retries: 5
         start_period: 10s
   ```
   
   and Image
   ```
   FROM apache/gravitino-iceberg-rest:0.9.1
   
   WORKDIR /root/gravitino-iceberg-rest-server/libs
   
   RUN curl -L -o iceberg-aws-bundle-1.9.2.jar \
           
https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-aws-bundle/1.9.2/iceberg-aws-bundle-1.9.2.jar
 && \
       curl -L -o postgresql-42.7.8.jar \
           
https://repo1.maven.org/maven2/org/postgresql/postgresql/42.7.8/postgresql-42.7.8.jar
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to