JanusGraph / JanusGraph/janusgraph
SSL integration tests are failing for ScyllaDB
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
- Version: master
- Storage Backend: `scylla`
- Mixed Index Backend: none
- Link to discussed bug: Discussion starts from the next comment: https://github.com/JanusGraph/janusgraph/issues/2505#issuecomment-1429165384
- test.log and discussion of the logs: https://gist.github.com/porunov/1ad5e396d815df0b220f69ea6b7d5177?permalink_comment_id=4471252#gistcomment-4471252
- Expected Behavior: ssl related tests are passing for ScyllaDB
- Current Behavior: ssl related tests are failing due to testcontainers doesn't recognize ScyllaDB as started
- Steps to Reproduce:
```
mvn clean install --projects janusgraph-scylla -DskipTests=true --batch-mode --also-make
mvn verify --projects janusgraph-scylla -Pscylla-murmur-ssl -Dtest="**/diskstorage/cql/CQLStoreTest.java"
```
### Stack Trace (if you have one)
```
Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for container port to open (localhost ports: [32769] should be listening)
at org.testcontainers.containers.wait.strategy.HostPortWaitStrategy.waitUntilReady(HostPortWaitStrategy.java:102)
at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:52)
at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:953)
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:485)
... 60 more
```
I think there is either problem with port mapping when certificates are used or something else.
Looks like it's possible to start docker container via:
```
docker run --rm --name test-scylla --volume cert/node.crt:/etc/ssl/node.crt --volume cert/node.key:/etc/ssl/node.key --volume cert/node.keystore:/etc/ssl/node.keystore --volume cqlshrc:/root/.cassandra/cqlshrc --volume scylla-murmur-ssl.yaml:/etc/scylla/scylla.yaml -it -p 9042:9042 scylladb/scylla --developer-mode=1 --memory 2G --smp 1 --skip-wait-for-gossip-to-settle 0
```
That said, testcontainers can't connect to the mapped port or something else happens which prevent testcontainers to ping the port.
Contributor guide
Research direction
Start with the janusgraph-scylla module and CQLStoreTest.java, then reproduce the failure with the two Maven commands in the issue. Review the linked discussion and test.log for the Testcontainers startup and port behavior. Done means the SSL-related ScyllaDB tests pass under the scylla-murmur-ssl profile.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java
- Domain
- databases, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100