Skip to content

Commit 75fa582

Browse files
committed
BF: CS-1163 when a queue is signalled then additional invalid entries are created in the berkeleydb spooling database
1 parent 39c0a49 commit 75fa582

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

source/daemons/qmaster/sge_qmaster_process_message.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -753,8 +753,11 @@ sge_c_job_ack(const char *host, const char *commproc, u_long32 ack_tag,
753753

754754
lSetUlong(qinstance, QU_pending_signal, 0);
755755
te_delete_one_time_event(TYPE_SIGNAL_RESEND_EVENT, 0, 0, lGetString(qinstance, QU_full_name));
756+
DSTRING_STATIC(dstr, MAX_STRING_SIZE);
757+
const char *key = sge_dstring_sprintf(&dstr, "%s/%s", lGetString(qinstance, QU_qname),
758+
lGetHost(qinstance, QU_qhostname));
756759
spool_write_object(&answer_list, spool_get_default_context(), qinstance,
757-
lGetString(qinstance, QU_full_name), SGE_TYPE_QINSTANCE, true);
760+
key, SGE_TYPE_QINSTANCE, true);
758761
answer_list_output(&answer_list);
759762
break;
760763
}

source/libs/spool/berkeleydb/sge_bdb.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1479,7 +1479,7 @@ spool_berkeleydb_delete_cqueue(lList **answer_list, bdb_info info,
14791479

14801480
if (ret) {
14811481
table_name = object_type_get_name(SGE_TYPE_QINSTANCE);
1482-
dbkey = sge_dstring_sprintf(&dbkey_dstring, "%s:%s@", table_name, key);
1482+
dbkey = sge_dstring_sprintf(&dbkey_dstring, "%s:%s/", table_name, key);
14831483
ret = spool_berkeleydb_delete_object(answer_list, info, BDB_CONFIG_DB,
14841484
dbkey, true);
14851485
}

0 commit comments

Comments
 (0)