gaffer-docker
gaffer-docker copied to clipboard
Problems accessing gaffer-rest on gaffer-road-traffic example and other containers
After reading the documentation, ran
cd docker/gaffer-road-traffic-loader
docker compose up
Encountered error
hdfs-namenode | 2023-09-08 17:05:49 INFO StateChange:3122 - DIR* completeFile: /accumulo/tables/!0/table_info/A0000000.rf_tmp is closed by DFSClient_NONMAPREDUCE
_1762125948_16
hdfs-namenode | 2023-09-08 17:05:49 INFO audit:8508 - allowed=true ugi=hadoop (auth:SIMPLE) ip=/XXX cmd=getfileinfo src=/accumulo/tables/!0/table_
info/A0000000.rf dst=null perm=null proto=rpc
hdfs-namenode | 2023-09-08 17:05:49 INFO audit:8508 - allowed=true ugi=hadoop (auth:SIMPLE) ip=/XXX cmd=rename src=/accumulo/tables/!0/table_
info/A0000000.rf_tmp dst=/accumulo/tables/!0/table_info/A0000000.rf perm=hadoop:supergroup:rw-r--r-- proto=rpc
gaffer-road-traffic-loader-data-loader-1 | Exception in thread "main" java.lang.RuntimeException: Failed to create store properties file : uk.gov.gchq.gaffer.mapstore.MapStoreProperties
gaffer-road-traffic-loader-data-loader-1 | at uk.gov.gchq.gaffer.store.StoreProperties.loadStoreProperties(StoreProperties.java:216)
gaffer-road-traffic-loader-data-loader-1 | at uk.gov.gchq.gaffer.store.StoreProperties.loadStoreProperties(StoreProperties.java:199)
gaffer-road-traffic-loader-data-loader-1 | at uk.gov.gchq.gaffer.store.StoreProperties.loadStoreProperties(StoreProperties.java:153)
gaffer-road-traffic-loader-data-loader-1 | at uk.gov.gchq.gaffer.traffic.generator.RoadTrafficDataLoader.main(RoadTrafficDataLoader.java:105)
gaffer-road-traffic-loader-data-loader-1 | Caused by: java.lang.ClassNotFoundException: uk.gov.gchq.gaffer.mapstore.MapStoreProperties
gaffer-road-traffic-loader-data-loader-1 | at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
gaffer-road-traffic-loader-data-loader-1 | at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
gaffer-road-traffic-loader-data-loader-1 | at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
gaffer-road-traffic-loader-data-loader-1 | at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
gaffer-road-traffic-loader-data-loader-1 | at java.lang.Class.forName0(Native Method)
gaffer-road-traffic-loader-data-loader-1 | at java.lang.Class.forName(Class.java:264)
gaffer-road-traffic-loader-data-loader-1 | at uk.gov.gchq.gaffer.store.StoreProperties.loadStoreProperties(StoreProperties.java:214)
gaffer-road-traffic-loader-data-loader-1 | ... 3 more
Also cannot successfully access REST API endpoint on this container or other containers:
(base) ubuntu@XXX:~$ curl localhost:8080/rest/latest/graph/config/schema
{"timestamp":1694193049516,"status":404,"error":"Not Found","path":"/rest/latest/graph/config/schema"}
I'm not able to reproduce this error. Could you provide more details on your environment and have you made any changes to the files in the repo?
Running curl localhost:8080/rest/graph/config/schema
gets the schema. Note there's no 'latest' in this URL.
Sure, I'm on the develop branch hash f13bb50e56e6faa236688bea4bf6401f2966eeb2 I'm using Ubuntu 18.x Docker Compose version v2.17.2 Docker version 23.0.4
I previously tested with Docker 24.0.6 and Compose 2.21.0 and have now tested again using Ubuntu 22.04 with Docker 24.0.5 and Compose 1.29.2 (from Ubuntu repo) and Docker 24.0.6 and Compose 2.21.0 (from Docker repo). As Ubuntu 18 is EOL, I've not tried using it. Though I don't see any reason why older versions of docker would cause problems.
Make sure you run docker compose pull
before trying to run docker compose up
. I noticed that docker sometimes seemed to want to build the images locally, which could potentially result in a broken image. If that might have happened then you'll need to remove the local images before running docker compose pull
.
I've retested this with the latest builds as of today (2.2.1) and it works as expected. This was using Docker Compose version 2.27.0
and Docker 26.1.1
.