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 ONE Support launchpad (Login required).

Search for additional results

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