Tencent / TBase

TBase is an enterprise-level distributed HTAP database. Through a single database cluster to provide users with highly consistent distributed database services and high-performance data warehouse services, a set of integrated enterprise-level solutions is formed.
Other
1.38k stars 262 forks source link

Meaning of "validate_combiner request_type is REQUEST_TYPE_NOT_DEFINED " #86

Open yazun opened 3 years ago

yazun commented 3 years ago

Hello, We see a lot of

validate_combiner, execRemote.c:1006
00000: validate_combiner request_type is REQUEST_TYPE_NOT_DEFINED#0122020-12-11 09:16:51 CET [605,coord(605,1765)]:xid[139767-83/1765] [4-1] user=dr3_ops_cs36,db=surveys,client=192.168.168.67,query=PostgreSQL JDBC Driver,

messages. Could you please explain what do they mean? XL does not produce this warning..

JennyJennyChen commented 3 years ago
/*
 * Create a structure to store parameters needed to combine responses from
 * multiple connections as well as state information
 */
void
InitResponseCombiner(ResponseCombiner *combiner, int node_count,
                       CombineType combine_type)
{
    combiner->node_count = node_count;
    combiner->connections = NULL;
    combiner->conn_count = 0;
    combiner->combine_type = combine_type;
    combiner->current_conn_rows_consumed = 0;
    combiner->command_complete_count = 0;
    combiner->request_type = REQUEST_TYPE_NOT_DEFINED;
    combiner->description_count = 0;
    combiner->copy_in_count = 0;
    combiner->copy_out_count = 0;
    combiner->copy_file = NULL;
    combiner->errorMessage = NULL;
    combiner->errorDetail = NULL;
    combiner->errorHint = NULL;
    combiner->tuple_desc = NULL;
    combiner->probing_primary = false;
    combiner->returning_node = InvalidOid;
    combiner->currentRow = NULL;
    combiner->rowBuffer = NIL;
    combiner->tapenodes = NULL;
    combiner->merge_sort = false;
    combiner->extended_query = false;
    combiner->tapemarks = NULL;
    combiner->tapemarks_count = 0;
    combiner->tuplesortstate = NULL;
    combiner->cursor = NULL;
    combiner->update_cursor = NULL;
    combiner->cursor_count = 0;
    combiner->cursor_connections = NULL;
    combiner->remoteCopyType = REMOTE_COPY_NONE;
#ifdef __TBASE__
    combiner->dataRowBuffer  = NULL;
    combiner->dataRowMemSize = NULL;
    combiner->nDataRows      = NULL;
    combiner->tmpslot        = NULL;
    combiner->recv_datarows  = 0;
    combiner->prerowBuffers  = NULL;
    combiner->is_abort = false;
#endif
}

REQUEST_TYPE_NOT_DEFINED is just the initialization state of request_type of the combiner responses structure, and the request_type will be re-assigned according to the actual return status of the connection later.

yazun commented 3 years ago

Thanks! Wouldn't it make sense to lower log level for it to a debug one?

LinChuangwei commented 3 years ago

Thanks! Wouldn't it make sense to lower log level for it to a debug one?

This log is to track the cause of the error,is there any error when typing this log?