joao-r-reis commented on code in PR #1868: URL: https://github.com/apache/cassandra-gocql-driver/pull/1868#discussion_r2012238698
########## conn.go: ########## @@ -1371,76 +1376,80 @@ func (c *Conn) executeQuery(ctx context.Context, qry *Query) *Iter { value := values[i] typ := info.request.columns[i].TypeInfo if err := marshalQueryValue(typ, value, v); err != nil { - return &Iter{err: err} + iter.err = err + return iter } } // if the metadata was not present in the response then we should not skip it - params.skipMeta = !(c.session.cfg.DisableSkipMetadata || qry.disableSkipMetadata) && info != nil && info.response.flags&flagNoMetaData == 0 + params.skipMeta = !(c.session.cfg.DisableSkipMetadata || qryOpts.disableSkipMetadata) && info != nil && info.response.flags&flagNoMetaData == 0 frame = &writeExecuteFrame{ preparedID: info.id, params: params, - customPayload: qry.customPayload, + customPayload: qryOpts.customPayload, } // Set "keyspace" and "table" property in the query if it is present in preparedMetadata - qry.routingInfo.mu.Lock() - qry.routingInfo.keyspace = info.request.keyspace - qry.routingInfo.table = info.request.table - qry.routingInfo.mu.Unlock() + q.routingInfo.mu.Lock() Review Comment: > Does this still need to lock? I don't think it does unless we expect GetRoutingKey to be called from separate goroutines? I think this is still the case due to speculative executions (and possibly retries I'm not sure). > Also can we just change routingInfo to not be a struct anymore? Seems like it only was because... >> // routingInfo is a pointer because Query can be copied and copyable struct can't hold a mutex. > Do we still allow copies of internalQuery? If so, maybe we should make a Clone method? I don't think it needs to be a struct anymore, I'll change it. -- 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: pr-unsubscr...@cassandra.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org For additional commands, e-mail: pr-h...@cassandra.apache.org