SAP Knowledge Base Article - Preview

2277335 - SAP IQ 16 - LOAD into tiered HG results in index corruption and s_blockmap aborts

Symptom

  • SAP IQ 16 multiplex environment loading data into a table with a tiered HG index, under certain rare conditions can result in an inconsistent index.
  • Running a sp_iqcheckdb verify will start to report Inconsistent Index and or Non-Completed Index errors.
  • Trying to update the table with the corrupt index can result in various s_blockmap  buffer manager errors, for example...

    The following exception is BUFMAN_BLOCKMAP_INFO_ERROR (-1009047)
    from GetBlockmapEntryInfo

    Exception Thrown from slib/s_blockmap.cxx:3355, Err# 0, tid 5 origtid 5
    O/S Err#: 0, ErrID: 2091 (s_internalexception); SQLCode: -1001012, SQLState: 'QFA12', Severity: 18
    Internal state violation, please contact SAP IQ support
  • Trying to drop or rebuild the damaged index can result in an abort at s_bloackmap and a stack at call to s_blockmap::DestroyAllMappedPages()

    *** SAP IQ Abort:
    *** From: slib/s_blockmap.cxx:4641
    *** PID: 26040
    *** Message: Internal Error


    ***************** This is the STACKTRACE **************

    s_blockmap::DestroyAllMappedPages()
    hs_ohc::Destroy(s_CKInfo*,int)
    opt_RebuildIndex::GenerateDFEs(df_Heap*,opt_QueryExp*)
    dfo_Root*opt_Driver::GenerateTree(QueryNode*,st_cursor*,const a_statement*,UITable*,UIIndex*,s_bm*,unsigned*,db_RebuildIndexInfo**,int,a_table*,hos_vector_
    noerror*,hs_store*,int,db_IQParallelIndexInfo*,rv_MergeCmdState*)
    db_RebuildIndex::Execute()
    st_command::DoCmdThroughResourceGate()
    unsigned db_iqddl::InternalFunction(UIConnection*,int,char*,char*)
    UIQDDL_InternalFunction
    st_SAIQInterfaceInfo::callFunction()
    st_SAIQInterface::RunIQFunc(st_SAIQInterfaceInfo*)
    st_SAIQInterface::Execute(int,void*,unsigned(*)(void*,void*),void*,unsigned)
    saint_iqthresholdddl::IQInternalFunction(IConnection*,int,char*,char*)
    int iq_internalfunction(InternalProcCall&)
    call_function(int(*)(InternalProcCall&),InternalProcCall&)
    RunInternalProcedure(Connection*,a_context_ref*)
    process_ext_int_remote_call(Connection*,a_context_ref*,unsigned,dfm_CallInfo*)
    unsigned exec_procedure_stmt(Connection*,a_context_ref*,a_statement*,unsigned,unsigned)
    unsigned run_procedure(a_context_ref*,dfm_CallInfo*,unsigned,Connection*,unsigned)
    unsigned dbi_resume_procedure(a_context_ref*,unsigned)
    do_cursor_execute(Connection*,a_stmt*)
    db__execute_any_imm(Connection*,an_sqlpres_receive*)
    RequestProcedure::call()
    Context::call(Procedure*,Context**)
    Worker::call_on_stack(Procedure*)
    TopProcedure::call()
    int Worker::spawn(Procedure*)
    EngStream::handle_ind(unsigned char,unsigned)
    EngStream::execute()


Read more...

Environment

SAP IQ 16 SP08.x any platform , multiplex environment , with tables having tiered HG indexes

Product

SAP IQ 16.0

Keywords

IQ16, Sybase, crash, checkdb, High Group, validate, insert , KBA , BC-SYB-IQ , Sybase IQ , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.