diff options
| author | yangwei <[email protected]> | 2024-10-18 09:25:35 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2024-11-14 09:44:55 +0800 |
| commit | 6bad95bc2bca6dac61566c51886a21f3a0117137 (patch) | |
| tree | edac2a45c866c1410778c5ca1f5e0d0fabeeca32 | |
| parent | 1caa5f938d21ba178d2460aba28863c1b94657c4 (diff) | |
🧪 test(mq priority): disable priority, always append to lowPerf-disable-priority
| -rw-r--r-- | src/plugin_manager/plugin_manager.c | 46 | ||||
| -rw-r--r-- | test/plugin_manager/plugin_manager_gtest_main.cpp | 2 |
2 files changed, 21 insertions, 27 deletions
diff --git a/src/plugin_manager/plugin_manager.c b/src/plugin_manager/plugin_manager.c index b56470b..3a2f081 100644 --- a/src/plugin_manager/plugin_manager.c +++ b/src/plugin_manager/plugin_manager.c @@ -264,6 +264,7 @@ static void per_thread_packet_exdata_arrary_clean(struct plugin_manager_schema * { if(plug_mgr==NULL || plug_mgr->packet_exdata_schema_array == NULL)return; unsigned int len=utarray_len(plug_mgr->packet_exdata_schema_array); + if(len==0)return; struct stellar_exdata *per_thread_pkt_exdata_arrary = per_thread_packet_exdata_arrary_get(plug_mgr); if(per_thread_pkt_exdata_arrary == NULL)return; for (unsigned int i = 0; i < len; i++) @@ -439,7 +440,7 @@ static int stellar_mq_publish_message(enum stellar_topic_type type, int topic_id msg->header.type=type; msg->header.priority = priority; msg->body = data; - DL_APPEND(priority_mq[priority], msg); + DL_APPEND(priority_mq[SESSION_MQ_PRIORITY_LOW], msg); return 0; } @@ -576,32 +577,25 @@ static void stellar_mq_dispatch_one_packet_message(struct packet *pkt, struct st static void stellar_mq_dispatch(struct stellar_message *priority_mq[], struct stellar_message ** dealth_letter_queue, struct session *sess, struct packet *pkt) { struct stellar_message *mq_elt=NULL, *mq_tmp=NULL; - int cur_priority = SESSION_MQ_PRIORITY_HIGH; - while(cur_priority >= SESSION_MQ_PRIORITY_LOW) - { - if(priority_mq[cur_priority]==NULL) - { - cur_priority--; - continue; - } - DL_FOREACH_SAFE(priority_mq[cur_priority], mq_elt, mq_tmp) - { - if(mq_elt->header.type==ON_SESSION_TOPIC && sess) - { - stellar_mq_dispatch_one_session_message(sess, mq_elt); - } - if(mq_elt->header.type==ON_PACKET_TOPIC && pkt) - { - stellar_mq_dispatch_one_packet_message(pkt, mq_elt); - } - DL_DELETE(priority_mq[mq_elt->header.priority], mq_elt); - DL_APPEND(*dealth_letter_queue, mq_elt); // move to dlq list - cur_priority=SESSION_MQ_PRIORITY_HIGH; - break; - } - } - return; + while (priority_mq[0]) + { + DL_FOREACH_SAFE(priority_mq[0], mq_elt, mq_tmp) + { + if (mq_elt->header.type == ON_SESSION_TOPIC && sess) + { + stellar_mq_dispatch_one_session_message(sess, mq_elt); + } + if (mq_elt->header.type == ON_PACKET_TOPIC && pkt) + { + stellar_mq_dispatch_one_packet_message(pkt, mq_elt); + } + DL_DELETE(priority_mq[0], mq_elt); + DL_APPEND(*dealth_letter_queue, mq_elt); // move to dlq list + break; + } + } + return; } static void stellar_mq_free(struct session *sess, struct packet *pkt, struct stellar_message **head, UT_array *mq_schema_array) diff --git a/test/plugin_manager/plugin_manager_gtest_main.cpp b/test/plugin_manager/plugin_manager_gtest_main.cpp index f074cc8..b8b1f15 100644 --- a/test/plugin_manager/plugin_manager_gtest_main.cpp +++ b/test/plugin_manager/plugin_manager_gtest_main.cpp @@ -2068,7 +2068,7 @@ static void test_session_mq_priority_plugin_2_on_msg(struct session *sess, int t return; } -TEST(plugin_manager, test_session_mq_priority) { +TEST(plugin_manager, DISABLED_test_session_mq_priority) { struct stellar st={0}; struct session_plugin_env env; |
