From 32e829c48907c98a5cf47fa11959bbddaf030045 Mon Sep 17 00:00:00 2001 From: CPWstatic <13495049+CPWstatic@users.noreply.github.com> Date: Mon, 13 Sep 2021 11:02:24 +0800 Subject: [PATCH 1/2] Do not update session when use space, the sessions will update at the next update period. --- src/graph/validator/UseValidator.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/graph/validator/UseValidator.cpp b/src/graph/validator/UseValidator.cpp index c80ded6f201..7049bb752d5 100644 --- a/src/graph/validator/UseValidator.cpp +++ b/src/graph/validator/UseValidator.cpp @@ -43,12 +43,9 @@ Status UseValidator::validateImpl() { Status UseValidator::toPlan() { // The input will be set by father validator later. - auto switchSpace = SwitchSpace::make(qctx_, nullptr, *spaceName_); - qctx_->rctx()->session()->updateSpaceName(*spaceName_); - auto session = qctx_->rctx()->session()->getSession(); - auto update = UpdateSession::make(qctx_, switchSpace, std::move(session)); - root_ = update; - tail_ = switchSpace; + auto reg = SwitchSpace::make(qctx_, nullptr, *spaceName_); + root_ = reg; + tail_ = root_; return Status::OK(); } } // namespace graph From 97be865d5f9fa2934f4a026e8d9f4bb6540b5b2c Mon Sep 17 00:00:00 2001 From: CPWstatic <13495049+CPWstatic@users.noreply.github.com> Date: Fri, 17 Sep 2021 14:39:17 +0800 Subject: [PATCH 2/2] Fix test --- src/graph/validator/test/AdminValidatorTest.cpp | 3 +-- tests/job/test_session.py | 8 +++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/graph/validator/test/AdminValidatorTest.cpp b/src/graph/validator/test/AdminValidatorTest.cpp index 19c62c50522..4bc3f737cea 100644 --- a/src/graph/validator/test/AdminValidatorTest.cpp +++ b/src/graph/validator/test/AdminValidatorTest.cpp @@ -18,8 +18,7 @@ TEST_F(AdminValidatorTest, SpaceTest) { checkResult("CREATE SPACE TEST(vid_type = fixed_string(2)); DESC SPACE TEST;", expected)); } { - std::vector expected = { - PK::kUpdateSession, PK::kSwitchSpace, PK::kCreateSpace, PK::kStart}; + std::vector expected = {PK::kSwitchSpace, PK::kCreateSpace, PK::kStart}; ASSERT_TRUE(checkResult("CREATE SPACE TEST(vid_type = fixed_string(2)); USE TEST;", expected)); } } diff --git a/tests/job/test_session.py b/tests/job/test_session.py index 6f8e9873cb0..97178cc2e7c 100644 --- a/tests/job/test_session.py +++ b/tests/job/test_session.py @@ -88,9 +88,9 @@ def test_sessions(self): for row in resp.rows(): if bytes.decode(row.values[1].get_sVal()) == 'session_user': session_id = row.values[0].get_iVal() - assert row.values[2].get_sVal() == b'' - assert row.values[3].getType() == ttypes.Value.DTVAL - assert row.values[4].getType() == ttypes.Value.DTVAL + assert row.values[2].get_sVal() == b'', f"resp: {resp}" + assert row.values[3].getType() == ttypes.Value.DTVAL, f"resp: {resp}" + assert row.values[4].getType() == ttypes.Value.DTVAL, f"resp: {resp}" break assert session_id != 0 @@ -99,6 +99,8 @@ def test_sessions(self): resp = client_ok.execute('USE nba') self.check_resp_succeeded(resp) + # wait for session sync. + time.sleep(3) resp = self.execute('SHOW SESSION {}'.format(session_id)) self.check_resp_succeeded(resp) expect_col_names = ['VariableName', 'Value']