{"record":{"id":"a1819d43f62d0288","repo":"testcontainers/testcontainers-java","slug":"setting-a-s-in-not-supported-in-the-versions-below-22-1-0","errorCode":null,"errorMessage":"Setting a %s in not supported in the versions below 22.1.0","messagePattern":"Setting a (.+?) in not supported in the versions below 22\\.1\\.0","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"modules/cockroachdb/src/main/java/org/testcontainers/cockroachdb/CockroachContainer.java","lineNumber":148,"sourceCode":"        this.password = password;\n        return this;\n    }\n\n    @Override\n    public CockroachContainer withDatabaseName(final String databaseName) {\n        validateIfVersionSupportsUsernameOrPasswordOrDatabase(\"databaseName\");\n        this.databaseName = databaseName;\n        return this;\n    }\n\n    private boolean isVersionGreaterThanOrEqualTo221(DockerImageName dockerImageName) {\n        ComparableVersion version = new ComparableVersion(dockerImageName.getVersionPart().replaceFirst(\"v\", \"\"));\n        return version.isGreaterThanOrEqualTo(FIRST_VERSION_WITH_ENV_VARS_SUPPORT);\n    }\n\n    private void validateIfVersionSupportsUsernameOrPasswordOrDatabase(String parameter) {\n        if (!isVersionGreaterThanOrEqualTo221) {\n            throw new UnsupportedOperationException(\n                String.format(\"Setting a %s in not supported in the versions below 22.1.0\", parameter)\n            );\n        }\n    }\n\n    @Override\n    protected void waitUntilContainerStarted() {\n        getWaitStrategy().waitUntilReady(this);\n    }\n}\n","sourceCodeStart":130,"sourceCodeEnd":159,"githubUrl":"https://github.com/testcontainers/testcontainers-java/blob/8e549514e3f01c57d70546fbb8599d138f3903e5/modules/cockroachdb/src/main/java/org/testcontainers/cockroachdb/CockroachContainer.java#L130-L159","documentation":"CockroachContainer only supports configuring username/password/database via env vars for image versions >= 22.1.0 (FIRST_VERSION_WITH_ENV_VARS_SUPPORT). Calling withUsername/withPassword/withDatabaseName on an older tagged image throws UnsupportedOperationException naming the parameter and the 22.1.0 cutoff.","triggerScenarios":"new CockroachContainer(\"cockroachdb/cockroach:v21.2.3\").withUsername(\"foo\") (or withPassword/withDatabaseName) — validateIfVersionSupportsUsernameOrPasswordOrDatabase fails isVersionGreaterThanOrEqualTo221.","commonSituations":"Pinning an older CockroachDB image for compatibility testing and reusing container setup code written for 22.1+; unparseable or missing version part in the image tag.","solutions":["Upgrade the image to >= 22.1.0, e.g. cockroachdb/cockroach:v22.1.0 or later","If the old version is required, drop the withUsername/withPassword/withDatabaseName calls and rely on defaults (root user, insecure/dev mode)","Ensure the docker image name contains a parseable version part so the version check works"],"exampleFix":"// before\nnew CockroachContainer(\"cockroachdb/cockroach:v21.2.3\").withDatabaseName(\"testdb\").withUsername(\"app\");\n// after\nnew CockroachContainer(\"cockroachdb/cockroach:v22.1.0\").withDatabaseName(\"testdb\").withUsername(\"app\");","handlingStrategy":"validation","validationCode":"String tag = imageName.substring(imageName.indexOf(':') + 1);\nint minor = Integer.parseInt(tag.replaceAll(\"[^0-9.]+\", \"\").split(\"\\\\.\")[1]);\nif (minor < 1 || parseVersion(tag) < 22.1) { /* skip withUsername/withPassword/withDatabaseName */ }","typeGuard":null,"tryCatchPattern":"try { container.withUsername(\"app\"); } catch (UnsupportedOperationException e) { /* use default root user for pre-22.1 images */ }","preventionTips":["Only use withUsername/withPassword/withDatabaseName with CockroachDB >= 22.1.0 images","Keep image tags versioned so the capability check can parse them","Centralize container configuration per image version"],"tags":["cockroachdb","testcontainers","unsupported-operation","version-check"],"backgroundTag":"unsupported-operation","analyzedSha":"8e549514e3f01c57d70546fbb8599d138f3903e5","analyzedAt":"2026-09-12T14:56:41.227Z","contentChangedAt":"2026-09-12T14:56:41.227Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}