lukasz-antoniak commented on code in PR #2037: URL: https://github.com/apache/cassandra-java-driver/pull/2037#discussion_r2102285527
########## core/src/main/java/com/datastax/oss/driver/api/core/tracker/RequestIdGenerator.java: ########## @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.datastax.oss.driver.api.core.tracker; + +import com.datastax.oss.driver.api.core.session.Request; +import edu.umd.cs.findbugs.annotations.NonNull; + +public interface RequestIdGenerator { + /** + * Generates a unique identifier for the session request. This will be the identifier for the + * entire `session.execute()` call. This identifier will be added to logs, and propagated to + * request trackers. + * + * @param statement the statement to be executed + * @param sessionName the name of the session + * @param hashCode the hashcode of the CqlRequestHandler + * @return a unique identifier for the session request + */ + String getSessionRequestId(@NonNull Request statement, @NonNull String sessionName, int hashCode); + + /** + * Generates a unique identifier for the node request. This will be the identifier for the CQL + * request against a particular node. There can be one or more node requests for a single session + * request, due to retries or speculative executions. This identifier will be added to logs, and + * propagated to request trackers. + * + * @param statement the statement to be executed + * @param sessionRequestId the session request identifier + * @param executionCount the number of previous node requests for this session request, due to + * retries or speculative executions + * @return a unique identifier for the node request + */ + String getNodeRequestId( + @NonNull Request statement, @NonNull String sessionRequestId, int executionCount); Review Comment: I think that this parameter makes sense. Within one session, we can retry sending the same request due to retry policy. -- 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