GumpacG opened a new pull request, #3538:
URL: https://github.com/apache/tinkerpop/pull/3538

   ## Summary
   
   The reference documentation under `docs/src/reference/` described driver
   configuration options, default values, class names, and code examples that no
   longer matched the source. This PR corrects those inaccuracies across all 
five
   drivers (JVM, Python, .NET, Go, JavaScript), fixes three stale javadoc 
comments
   in `gremlin-driver` that were the origin of some doc errors, and adds a
   `CHANGELOG` entry. All changes are documentation or comment only; no runtime
   behavior changes.
   
   ## What changed and why
   
   ### JavaScript
   * Removed `pingEnabled` / `pingInterval` / `pongTimeout`: the JavaScript 
driver has no ping/pong logic, so these documented options are non-functional.
   * Removed `CardinalityValue` from Common Imports: 
`gremlin.process.CardinalityValue` resolves to `undefined` because `index.js` 
does not surface it on the `process` namespace (it is only exported from 
`lib/process/graph-traversal.js`).
   * Added `materializeProperties`: it is accepted in the driver's per-request 
`allowedKeys` (`driver-remote-connection.js`) but was missing from the 
documented list.
   
   ### Python
   * `pool_size` 4 -> 8: the implementation default is 8 (`client.py`); the doc 
value was stale.
   * `max_workers`: the doc claimed "CPUs * 5" but the code defaults it to 
`pool_size`.
   * `enable_compression` description: copy-pasted verbatim from the 
neighboring `enable_user_agent_on_connect` row when both were added in 
`ca5414fcb7` (Oct 2024).
   * Added `materializeProperties`: accepted by `_extract_request_options` but 
omitted from the list.
   * `kerberized_service` default: rendered as `"""` (a quoting artifact); 
corrected to `""` (empty string).
   
   ### .NET
   * `PoolSize` 4 -> 8: implementation default is 8 (`ConnectionPoolSettings`); 
doc value stale.
   * `MaxInProcessPerConnection` 32 -> 16: implementation default is 16; doc 
value stale.
   * `ConnectionPoolBusyException`: the pool-busy case throws this, not the 
base `NoConnectionAvailableException` the doc named.
   
   ### Go
   * `/v3` import path: the module moved to a v3 major version, so the import 
path requires `/v3`.
   * `gremlingo.INFO` -> `Info`: the constant is named `Info`; `INFO` never 
existed.
   * `ConnectionTimeout` 45s -> 5s: implementation default is 5s 
(`gorillaTransporter.go`); doc value stale.
   * `ReadBufferSize` / `WriteBufferSize` 0 -> 1048576: the driver initializes 
these to 1 MB; the doc showed 0.
   
   ### JVM driver
   * `port` 8192 -> 8182: the doc copied the stale `Settings.java` javadoc; the 
field value is 8182.
   * `maxWaitForConnection` 3000 -> 16000: the doc copied a stale javadoc; the 
constant is 16000.
   * `maxContentLength` 65536 -> 10485760: the doc copied a stale javadoc; the 
constant is 10 MB.
   * `minSimultaneousUsagePerConnection` description: it was copy-pasted from 
the max-variant row.
   
   ### Server / Console
   * GraphSON serializer class names: the docs used pre-3.3/3.5 `Gremlin` / 
`d0` names for classes that were later renamed (`GraphSONMessageSerializerV1`, 
`GraphSONUntypedMessageSerializerV3`).
   * Server `maxContentLength` 65536 -> 10485760: the server default is 10 MB; 
the doc value was stale.
   * `plugin activated:`: the console prints "activated", not "loaded", so the 
example output was wrong.
   
   ### Examples and references
   * `traversal().withEmbedded(...)` / `traversal().withRemote(...)`: the 
examples omitted the parentheses on the static factory and would not compile; 
the URL was also single-quoted, which is invalid as a Java String literal.
   * `Neo4jGraph.open()`: there is no class named `Neo4j`; the factory lives on 
`Neo4jGraph`.
   * `getVertexComputeKeys()`: `getElementComputeKeys()` is a pre-3.2 name that 
was renamed.
   * IdManager options: added `STRING`, a valid selectable value in the 
`DefaultIdManager` enum that was omitted from the list.
   * `maxDistance(Number)`: the builder method takes a `Number`, not a 
`Traversal`.
   * `includeEdges(boolean)`: the builder method takes a primitive `boolean`.
   * Step-reference link labels: the `branch()`, `filter()`, `flatMap()`, and 
`sideEffect()` "Additional References" links displayed the label 
`map(Traversal)` (a copy-paste artifact; the link anchors were already 
correct). Corrected each label to match its own step.
   
   ### Code comments
   * `Settings.java` javadocs (`port`, `maxWaitForConnection`, 
`maxContentLength`): the comments stated defaults that no longer matched the 
field/constant values and were the source of the doc-table errors.
   
   ## Verification
   
   Every corrected value was cross-checked against the source at all layers that
   determine the effective default a user receives: the constant, the settings
   object, and the builder for the JVM driver; and both the direct client and 
the
   remote-connection wrapper for each language variant. This confirmed the
   documented value matches actual behavior and is not contradicted by another 
file.
   
   Assisted-by: Kiro: Claude Opus 4.8


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to