[ https://issues.apache.org/jira/browse/TINKERPOP-3076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yang Xia updated TINKERPOP-3076: -------------------------------- Priority: Blocker (was: Critical) > 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)