[ https://issues.apache.org/jira/browse/TINKERPOP-3076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17889893#comment-17889893 ]
ASF GitHub Bot commented on TINKERPOP-3076: ------------------------------------------- Cole-Greer opened a new pull request, #2834: URL: https://github.com/apache/tinkerpop/pull/2834 Gorilla has an implicit frame size limit imposed by WriteBufferSize. Requests which exceed this limit cannot be parsed by gremlin server and currently lead to cryptic errors in the server. This PR simply adds a client side check to throw a more descriptive error to the user. The resulting behaviour is very similar to how `maxContentLength` functions in the java driver. VOTE +1 > Incorrect handling of large requests in Go GLV > ---------------------------------------------- > > Key: TINKERPOP-3076 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3076 > Project: TinkerPop > Issue Type: Bug > Components: go > Affects Versions: 3.6.7, 3.7.2 > Reporter: Valentyn Kahamlyk > Priority: Blocker > > When trying to send a request longer than about a megabyte, go GLV does not > work correctly, possibly truncates data. > Simple reproducer > {code:go} > func main() { > driverRemoteConnection, err := > gremlingo.NewDriverRemoteConnection("ws://localhost:8182/gremlin") > if err != nil { > fmt.Println(err) > return > } > defer driverRemoteConnection.Close() > g := gremlingo.Traversal_().WithRemote(driverRemoteConnection) > const count = 1100 > var ids [count]string > const idLength = 1000 > result := make([]byte, idLength) > for i := 0; i < idLength; i++ { > result[i] = 65 > } > id := string(result) > for i := 0; i < count; i++ { > ids[i] = id > } > r, err := g.V(ids).Count().ToList() > if err != nil { > fmt.Println("err: ", err) > return > } > fmt.Println("found: ", r[0].GetString()) > }{code} > with `count = 1000` it works as expected. > Python GLV works as expected with same request. > Error logged in Gremlin Server > {code:java} > io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: > readerIndex(1048338) + length(1000) exceeds writerIndex(1048543): > PooledUnsafeDirectByteBuf(ridx: 1048338, widx: 1048543, cap: 1048576){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)