Using README.md. After
mvn clean install -DskipTests
when I run:
mvn compile exec:exec -pl dac/daemon -e
I get the following stack trace:
11:47:39.157 [Curator-ServiceCache-0] INFO c.d.s.c.TaskLeaderStatusListener - New Leader node for task MASTER BOLEADDV01.micron.com:45678 registered itself.
11:47:39.159 [main] ERROR ROOT - Dremio is exiting. Failure while starting services.
java.lang.RuntimeException: Failure while attempting to create com.dremio.dac.service.collaboration.CollaborationHelper.
at com.dremio.service.BinderImpl$InjectableReference.get(BinderImpl.java:427) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.BinderImpl.lookup(BinderImpl.java:109) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.BinderImpl$DeferredProvider.get(BinderImpl.java:83) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.dac.daemon.SampleDataPopulatorService.start(SampleDataPopulatorService.java:97) ~[dremio-dac-backend-3.2.1-201905191350330803-1a33f83.jar:na]
at com.dremio.service.SingletonRegistry$AbstractServiceReference.start(SingletonRegistry.java:137) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.ServiceRegistry.start(ServiceRegistry.java:74) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.SingletonRegistry.start(SingletonRegistry.java:33) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.dac.daemon.DACDaemon.startServices(DACDaemon.java:183) ~[dremio-dac-backend-3.2.1-201905191350330803-1a33f83.jar:na]
at com.dremio.dac.daemon.DACDaemon.init(DACDaemon.java:189) ~[dremio-dac-backend-3.2.1-201905191350330803-1a33f83.jar:na]
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:102) ~[classes/:na]
Caused by: java.lang.NullPointerException: Unable to find injectable based on javax.ws.rs.core.SecurityContext
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:864) ~[guava-20.0.jar:na]
at com.dremio.service.BinderImpl.lookup(BinderImpl.java:107) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.BinderImpl$FinalResolver.getImplementation(BinderImpl.java:388) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.BinderImpl$InjectableReference$3.apply(BinderImpl.java:424) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.dremio.service.BinderImpl$InjectableReference$3.apply(BinderImpl.java:421) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
at com.google.common.collect.Iterators$7.transform(Iterators.java:750) ~[guava-20.0.jar:na]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47) ~[guava-20.0.jar:na]
at com.google.common.collect.Iterators.addAll(Iterators.java:367) ~[guava-20.0.jar:na]
at com.google.common.collect.Lists.newArrayList(Lists.java:163) ~[guava-20.0.jar:na]
at com.google.common.collect.Iterables.castOrCopyToCollection(Iterables.java:344) ~[guava-20.0.jar:na]
at com.google.common.collect.Iterables.toArray(Iterables.java:323) ~[guava-20.0.jar:na]
at com.google.common.collect.Iterables.toArray(Iterables.java:319) ~[guava-20.0.jar:na]
at com.google.common.collect.FluentIterable.toArray(FluentIterable.java:779) ~[guava-20.0.jar:na]
at com.dremio.service.BinderImpl$InjectableReference.get(BinderImpl.java:425) ~[dremio-common-3.2.1-201905191350330803-1a33f83.jar:3.2.1-201905191350330803-1a33f83]
... 9 common frames omitted
I notice that it creates /tmp/dremio
directory…
I can force a successful server up and running by running an additional execution:
<execution>
<id>default-cli-next</id>
<configuration>
<classpathScope>test</classpathScope>
<executable>java</executable>
<arguments>
<argument>-Xms512m</argument>
<argument>-Xmx4g</argument>
<argument>-XX:MaxDirectMemorySize=1g</argument>
<argument>-Ddremio_debug=true</argument>
<argument>-Djava.io.tmpdir=${project.build.directory}</argument>
<argument>-Ddac_prepopulate=false</argument>
<argument>-Ddebug.addDefaultUser=false</argument>
<argument>-Ddebug.allowTestApis=true</argument>
<argument>-classpath</argument>
<classpath/>
<argument>com.dremio.dac.daemon.DremioDaemon</argument>
</arguments>
</configuration>
</execution>
And invoking using named execution:
mvn compile exec:exec@default-cli-next -pl dac/daemon
11:57:16.386 [main] INFO com.dremio.dac.server.WebServer - Started on http://localhost:9047
11:57:16.387 [main] INFO org.eclipse.jetty.server.Server - jetty-9.4.15.v20190215; built: 2019-02-15T16:53:49.381Z; git: eb70b240169fcf1abbd86af36482d1c49826fa0b; jvm 1.8.0_191-b12
11:57:16.388 [main] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@7b0dea0{HTTP/1.1,[http/1.1]}{127.0.0.1:17244}
11:57:16.388 [main] INFO org.eclipse.jetty.server.Server - Started @11915ms
11:57:16.388 [main] INFO c.dremio.dac.server.LivenessService - Started liveness service on port 17244
Dremio Daemon Started as master
Seems like first time through the server is failing because /tmp/dremio
database directory not populated?