|
|
|
@ -6779,7 +6779,7 @@ static bool test_and_clear(bool *val, mutex_t *lock)
|
|
|
|
|
static void ckdbq_process(ckpool_t *ckp, char *msg) |
|
|
|
|
{ |
|
|
|
|
sdata_t *sdata = ckp->sdata; |
|
|
|
|
size_t responselen = 0; |
|
|
|
|
size_t responselen; |
|
|
|
|
char *buf = NULL; |
|
|
|
|
|
|
|
|
|
while (!buf) { |
|
|
|
@ -6799,16 +6799,15 @@ static void ckdbq_process(ckpool_t *ckp, char *msg)
|
|
|
|
|
|
|
|
|
|
/* Process any requests from ckdb that are heartbeat responses with
|
|
|
|
|
* specific requests. */ |
|
|
|
|
if (likely(buf)) |
|
|
|
|
responselen = strlen(buf); |
|
|
|
|
if (likely(responselen > 0)) { |
|
|
|
|
if (likely(responselen > 1)) { |
|
|
|
|
char *response = alloca(responselen); |
|
|
|
|
int offset = 0; |
|
|
|
|
|
|
|
|
|
memset(response, 0, responselen); |
|
|
|
|
if (sscanf(buf, "%*d.%*d.%c%n", response, &offset) > 0) { |
|
|
|
|
if (likely(sscanf(buf, "%*d.%*d.%c%n", response, &offset) > 0)) { |
|
|
|
|
strcpy(response + 1, buf + offset); |
|
|
|
|
if (safecmp(response, "ok")) { |
|
|
|
|
if (likely(safecmp(response, "ok"))) { |
|
|
|
|
char *cmd; |
|
|
|
|
|
|
|
|
|
cmd = response; |
|
|
|
@ -6822,8 +6821,8 @@ static void ckdbq_process(ckpool_t *ckp, char *msg)
|
|
|
|
|
LOGWARNING("Got ckdb failure response: %s", buf); |
|
|
|
|
} else |
|
|
|
|
LOGWARNING("Got bad ckdb response: %s", buf); |
|
|
|
|
free(buf); |
|
|
|
|
} |
|
|
|
|
free(buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int transactions_by_jobid(sdata_t *sdata, const int64_t id) |
|
|
|
|