gaffer-docker icon indicating copy to clipboard operation
gaffer-docker copied to clipboard

Problems accessing gaffer-rest on gaffer-road-traffic example and other containers

Open DavidAnDavis2021 opened this issue 1 year ago • 3 comments

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"}

DavidAnDavis2021 avatar Sep 08 '23 17:09 DavidAnDavis2021

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.

GCHQDeveloper314 avatar Sep 12 '23 08:09 GCHQDeveloper314

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

DavidAnDavis2021 avatar Sep 15 '23 15:09 DavidAnDavis2021

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.

GCHQDeveloper314 avatar Sep 18 '23 09:09 GCHQDeveloper314

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.

GCHQDeveloper314 avatar May 30 '24 16:05 GCHQDeveloper314