Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix not found request for forward response #370

Merged
merged 3 commits into from
Dec 24, 2024

Conversation

lzydmxy
Copy link
Contributor

@lzydmxy lzydmxy commented Oct 17, 2024

Which issues of this PR fixes:

This PR try to fix #350, fix #348

Change log:

  • Move request to forward_request_queue before forward request to leader
  • Use pending_request-> create_time(self's steady_clock) instead of committed_request-> create_time (leader's steady_clock) to calculate request time cost
  • Standardized forward request, forward response printing in logs

@raftkeeper-robot
Copy link

raftkeeper-robot bot commented Oct 17, 2024

Unit test report for commit af817bf.

All test cases passed!

Successful Test Cases
Classname Name Sanitize Type Status Error Message
OperatorsManipTest EscapingTest
OperatorsManipTest QuouteTest
OperatorsManipTest DoubleQuouteTest
OperatorsManipTest binary
Logger Log
Common PODArrayInsert
Common PODPushBackRawMany
Common PODNoOverallocation
Common PODArrayInsertWithIllegalPadding
Common unescapeForFileName
ShellCommand Execute
ShellCommand ExecuteDirect
ShellCommand ExecuteWithInput
ShellCommand AutoWait
ThreadPool ConcurrentWait
ThreadPool GlobalFull1
ThreadPool GlobalFull2
ThreadPool ThreadRemoval
ThreadPool Loop
ThreadPool ExceptionFromSchedule
RaftLog writeAndReadUInt32
RaftLog serializeStr
RaftLog serializeRaw
RaftLog serializeEntry
RaftLog parseLogEntrybody
RaftLog appendEntry
RaftLog appendEntries
RaftLog loadLog
RaftLog splitSegment
RaftLog removeSegment
RaftLog truncateLog
RaftLog writeAt
RaftLog compact
RaftLog getEntry
RaftLog getEntries
RaftPerformance appendLogPerformance
RaftPerformance appendLogThread
RaftPerformance machineCreate
RaftSnapshot parseAndSerializeKeeperNode
RaftSnapshot createSnapshot_1
RaftSnapshot createSnapshot_2
RaftSnapshot readAndSaveSnapshot
RaftSnapshot parseSnapshot
RaftSnapshot parseIncompleteSnapshot
RaftSnapshot createSnapshotWithFuzzyLog
RaftStateMachine serializeAndParse
RaftStateMachine appendEntry
RaftStateMachine modifyEntry
RaftStateMachine createSnapshot
RaftStateMachine syncSnapshot
RaftStateMachine initStateMachine
RaftStateManager load_srv_state

@raftkeeper-robot
Copy link

raftkeeper-robot bot commented Oct 17, 2024

Integration test report for commit af817bf.

All test cases passed!

Successful Test Cases
Classname Name Sanitize Type Status Error Message
test_auth test_digest_auth_basic[get_genuine_zk]
test_auth test_digest_auth_basic[get_fake_zk]
test_auth test_no_auth[get_genuine_zk]
test_auth test_no_auth[get_fake_zk]
test_auth test_super_auth
test_auth test_digest_auth_multiple[get_genuine_zk]
test_auth test_digest_auth_multiple[get_fake_zk]
test_auth test_partial_auth[get_genuine_zk]
test_auth test_partial_auth[get_fake_zk]
test_auth test_bad_auth
test_auth test_auth_snapshot
test_auth test_get_set_acl[get_genuine_zk]
test_auth test_get_set_acl[get_fake_zk]
test_back_to_back test_simple_commands
test_back_to_back test_sequential_nodes
test_back_to_back test_stats
test_back_to_back test_watchers
test_back_to_back test_multi_transactions
test_back_to_back test_filtered_list
test_back_to_back test_multi_read
test_back_to_back test_random_requests
test_back_to_back test_end_of_session
test_back_to_back test_end_of_watches_session
test_back_to_back test_concurrent_watches
test_back_to_back test_system_nodes
test_back_to_back test_unregister_watch
test_converter test_smoke[True]
test_converter test_smoke[False]
test_converter test_simple_crud_requests[True]
test_converter test_simple_crud_requests[False]
test_converter test_multi_and_failed_requests[True]
test_converter test_multi_and_failed_requests[False]
test_forward_expiration test_forward_expiration
test_four_word_command test_cmd_ruok
test_four_word_command test_cmd_mntr
test_four_word_command test_cmd_srst
test_four_word_command test_cmd_conf
test_four_word_command test_cmd_isro
test_four_word_command test_cmd_srvr
test_four_word_command test_cmd_stat
test_four_word_command test_cmd_cons
test_four_word_command test_cmd_crst
test_four_word_command test_cmd_dump
test_four_word_command test_cmd_wchs
test_four_word_command test_cmd_wchc
test_four_word_command test_cmd_wchp
test_four_word_command test_cmd_csnp
test_four_word_command test_cmd_lgif
test_four_word_command test_cmd_rqld
test_four_word_command test_white_list
test_learner test_read_write_multinode
test_learner test_watch_on_follower
test_learner test_session_expiration
test_learner test_follower_restart
test_learner test_simple_sleep_test
test_learner test_stop_learner
test_multinode_simple test_read_write_multi_node
test_multinode_simple test_watch_on_follower
test_multinode_simple test_session_expiration
test_multinode_simple test_follower_restart
test_multinode_simple test_simple_sleep_test
test_nodes_add test_nodes_add
test_nodes_remove test_nodes_remove
test_nodes_replace test_node_replace
test_non_snapshot_restart test_restart
test_persistent_log test_open_and_closed_log_segment
test_persistent_log test_state_after_restart
test_persistent_log test_state_duplicate_restart
test_persistent_log test_ephemeral_after_restart
test_persistent_log_multinode test_restart_multi_node
test_restore_from_snapshot test_recover_from_snapshot
test_session test_reconnection
test_session_fake_client test_session_timeout
test_session_fake_client test_session_max_min_session_timeout
test_session_fake_client test_invalid_timeout_setting
test_snapshot_restart test_restart[False]
test_snapshot_restart test_restart[True]
test_snapshot_small_distance test_snapshot_and_load[False]
test_snapshot_small_distance test_snapshot_and_load[True]
test_snapshots test_state_after_restart[node0]
test_snapshots test_state_after_restart[node1]
test_snapshots test_ephemeral_after_restart[node0]
test_snapshots test_ephemeral_after_restart[node1]
test_snapshots test_restart_with_no_log[node0]
test_snapshots test_restart_with_no_log[node1]
test_snapshots test_snapshot_clear[node0]
test_snapshots test_snapshot_clear[node1]
test_snapshots_multinode test_restart_multinode[False]
test_snapshots_multinode test_restart_multinode[True]
test_stale_node_recovery test_stale_node_recovery
test_three_nodes_two_alive test_start_offline
test_three_nodes_two_alive test_start_non_existing
test_three_nodes_two_alive test_restart_third_node
test_two_nodes_cluster test_read_write_two_nodes
test_two_nodes_cluster test_read_write_two_nodes_with_blocked
test_znode_time test_between_servers
test_znode_time test_server_restart

src/Service/ConnectionHandler.cpp Outdated Show resolved Hide resolved
src/Service/ForwardConnection.cpp Outdated Show resolved Hide resolved
src/Service/ForwardConnection.cpp Outdated Show resolved Hide resolved
src/Service/ForwardConnection.cpp Outdated Show resolved Hide resolved
src/Service/ForwardConnection.cpp Outdated Show resolved Hide resolved
src/Service/ForwardConnectionHandler.cpp Outdated Show resolved Hide resolved
src/Service/RequestProcessor.cpp Show resolved Hide resolved
@JackyWoo
Copy link
Contributor

JackyWoo commented Oct 18, 2024

There is a little issue in CI that the failed test report does not squash test cases with different sanatize types. We could fix it in another PR.

src/Service/KeeperCommon.h Show resolved Hide resolved
src/Service/KeeperCommon.h Show resolved Hide resolved
@JackyWoo JackyWoo merged commit 11082d3 into JDRaftKeeper:master Dec 24, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unexpected forwarding timeout when the system pressure is low Fix unexpected max latency in output of stat
2 participants