SAP Knowledge Base Article - Preview

3256149 - NSE Table re-partition is hanging due to a blocked savepoint

Symptom

  • A (re-)Partitioning operation on a large NSE table with billions of records leads to a hung system state.
    Example of the DDL statement being executed :

    ALTER TABLE "Schema"."JCDS" PARTITION BY HASH(OBJNR,CHGNR,STAT) PARTITIONS 4;

 

  • Table "SLTECC"."JCDS" is an NSE cached table. There are blocked savepoints and massive lockwaits due to a particular jobworker thread stuck in a sleeping state on this table during the partition run. 

     
    "SqlExecutor";2865716902;30979;140282005913600;"Network Poll";218828;"";"";109;454361139;"SqlExecutor";"NoAction";"";" { SQL: ALTER TABLE ""SLTECC"".""JCDS"" PARTITION BY HASH(OBJNR,CHGNR,STAT) PARTITIONS 4 STATEMENT-TRANSTOKEN: Newdb::TransToken CONTENTS - 0x00007faa39ef8600 [utid=-454361140 cid=0 flashback_cid=0 stmt_seq=3 cloned=0 seriailzed=0 ptime_trans_refcounted=0 p...";18446744073709551615;"(no wait)";18446744073709551615;"(no wait)";"1663079226283069 [local]";58;91845670;0;230888461607;125188;140398738313216;1310720;131072;8822592;8822490005;102322;585;585

    "Request";2867293498;36511;139851587817472;"Job Exec Waiting";218828;"";"";109;454361139;"Request";"splitIndex";"SLTECC:JCDS";"";18446744073709551615;"JobBarrier Wait for Jobs";18446744073709551615;"(no owner)";"1663080243017596 [local]";2929;131892038;0;229648102105;88819;140397969633280;1310720;131072;8822191;8539818320;282372551;2613;2613

    218828;139465903765504;109;"1663309675323420 [local]";0;"RUNNING";"hostname";"10.243.88.105";14468;50912;"201022594";"201022594";"Remote";0;-1;"TRUE";"ExecutePrepared";"939861514197015";"ALTER TABLE ""SLTECC"".""JCDS"" PARTITION BY HASH(OBJNR,CHGNR,STAT) PARTITIONS 4";"e6cbebb114ca88a7f22ea0af5ed9a463";"";5;0;3889;14;5984;15;7751;30979;"Session";"FALSE";"";"";"FALSE";"PBKDF2";"0 [local]";"STATEMENT ROUTING";218828;0;"FALSE";5;-1;-1;"_SYS_DEFAULT";"HDBStudio";"201022594";"";1;1;1;1;"";"";1125908701881700;"";0;"2.3.62-36d7ec847f72c87e66ab41323b25ab504c730892";"JDBC";"UNKNOWN"

    2867293498[thr=36511]: Request, TID: 109, UTID: 454361139, CID: 218828, LCID: 218828, SEID: 1125908701881700, parent: ---, SQLUserName: "201022594", AppUserName: "201022594", AppName: "HDBStudio", ConnCtx: 218828 {LDBID: 4, LCID: 218828}, StmtCtx: (1) 939861514197015 {Parent: 218828, P: 5, THRL: 32, MEMLGB: 300, TIMESec: 0, ObjHdl: 140031081336320, User: "201022594", Schema: "201022594", SesCtx: {ObjHdl: 138248276535296, CID: 218828, LCID: 218828, User: "201022594", Schema: "201022594", Ver: 9, CtxID: 7870860}}, WorkloadCtx: 1125917393900357{INDI, P=5, THRL=32, MEMLGB=300, TIMESec=0, WTXMin=0, ICURMin=720, NAME=_SYS_DEFAULT}, type: "Request", method: "splitIndex", detail: "SLTECC:JCDS", command: "" at 0x00007fb1e502dbc9 in syscall+0x19 (libc.so.6)



    The parent SqlExecutor and Request threads are stuck in a waiting state :

    2867293498[thr=36511]: Request at

    1: 0x00007fb1e502dbc9 in syscall+0x15 (libc.so.6)
    2: 0x00007fb1e707a3c9 in Synchronization::BinarySemaphore::timedWait(unsigned long, Execution::Context&)+0x175 at LinuxFutexOps.hpp:46 (libhdbbasis.so)
    3: 0x00007fb1e73cb97f in Execution::JobBarrier::wait(Execution::Context&, Execution::JobFinalObjectImpl const*)+0x20b at JobExecutor.cpp:121 (libhdbbasis.so)
    4: 0x00007fb1e73c44fd in Execution::JobObjectImpl::wait(bool, bool)+0x5c9 at JobExecutorImpl.cpp:913 (libhdbbasis.so)
    5: 0x00007fb1e73cf3bf in Execution::JobContextImpl::wait(bool)+0xcb at JobContext.cpp:515 (libhdbbasis.so)
    6: 0x00007fb1e73cf885 in Execution::JobContext::waitFinalize()+0x11 at JobContext.cpp:202 (libhdbbasis.so)
    7: 0x00007fb1fabb6b6e in TRexAPI::Partitioning::SplitHandler::splitAE(bool, ltt_adp::vector<TrexBase::IndexName, ltt::integral_constant<bool, true> >&, ltt_adp::vector<TrexBase::IndexName, ltt::integral_constant<bool, true> >&, ltt_adp::vector<int, ltt::integral_constant<bool, true> >&, ltt_adp::vector<int, ltt::integral_constant<bool, true> >&, ltt_adp::vector<ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> >, ltt::integral_constant<bool, true> >&, ltt_adp::vector<ltt_adp::vector<int, ltt::integral_constant<bool, true> >, ltt::integral_constant<bool, true> >&)+0x48ba at RepartitionJob.h:125 (libhdbcsapi.so)
    8: 0x00007fb1fabbe8fd in TRexAPI::Partitioning::SplitHandler::stepSplitMain()+0x159 at Split.cpp:3766 (libhdbcsapi.so)
     9: 0x00007fb1fabc5348 in TRexAPI::Partitioning::SplitHandler::splitSteps()+0x254 at Split.cpp:3323 (libhdbcsapi.so)


     .....

    2865716902[thr=30979]: SqlExecutor, TID: 109, UTID: 454361139, CID: 218828, LCID: 218828, SEID: 1125908701881700, parent: ---, SQLUserName: "201022594", AppUserName: "201022594", AppName: "HDBStudio", ConnCtx: 218828 {LDBID: 4, LCID: 218828}, StmtCtx: (1) 939861514197015 {Parent: 218828, P: 5, THRL: 32, MEMLGB: 300, TIMESec: 0, SesCtx: {ObjHdl: 138248276535296, CID: 218828, LCID: 218828, User: "201022594", Schema: "201022594", Ver: 9, CtxID: 7870860}}, WorkloadCtx: 1125917393900357{INDI, P=5, THRL=32, MEMLGB=300, TIMESec=0, WTXMin=0, ICURMin=720, NAME=_SYS_DEFAULT}, type: "SqlExecutor", method: "NoAction", detail: "", command: "

    {

    SQL:
    ALTER TABLE "SLTECC"."JCDS" PARTITION BY HASH(OBJNR,CHGNR,STAT) PARTITIONS 4

    2865716902[thr=30979]: SqlExecutor at
    1: 0x00007fb1e502955d in __poll_nocancel+0x20 (libc.so.6)
    2: 0x00007fb1e72d1410 in Stream::CompletionSet::pollImpl(int)+0xd0 at CompletionSet.cpp:115 (libhdbbasis.so)
    3: 0x00007fb1e72d0a0a in Stream::CompletionSet::poll(int)+0x116 at CompletionSet.cpp:450 (libhdbbasis.so)
    4: 0x00007fb1e72c7492 in .LTHUNK24.lto_priv.4+0x2f0 at NetworkChannel.cpp:2005 (libhdbbasis.so)
    5: 0x00007fb1ec93ab25 in comm::read(void*, void*, int, int)+0x81 at commlibImpl.cpp:1209 (libhdbbasement.so)
    6: 0x00007fb1ec838914 in TrexNet::Channel::receive(void*, int, int&)+0x90 at Channel.cpp:482 (libhdbbasement.so)
    7: 0x00007fb1ec84cf4c in TrexNet::NetInput::peek()+0xe8 at BufferedIO.cpp:761 (libhdbbasement.so)
    8: 0x00007fb1ec84d760 in TrexNet::NetInput::checkType(unsigned char)+0x60 at BufferedIO.cpp:3795 (libhdbbasement.so)
    9: 0x00007fb1ec87a15c in TrexNet::NetInput::operator>>(unsigned int&)+0x28 at BufferedIO.cpp:2977 (libhdbbasement.so)
    10: 0x00007fb1edbe7572 in TRexCommonObjects::CommonUtils::receiveObjectId(TRexUtils::Deserializer&, int, int, TREX_ERROR::TRexError&)+0x120 at CommonUtils.cpp:32 (libhdbcscommon1.so)
    11: 0x00007fb1edbe75d6 in TRexCommonObjects::CommonUtils::receiveObjectId(TRexUtils::Deserializer&, int, int)+0x22 at CommonUtils.cpp:47 (libhdbcscommon1.so)
    12: 0x00007fb1fabd6a60 in .LTHUNK82.lto_priv.0+0x680 at Split.cpp:2325 (libhdbcsapi.so)
    13: 0x00007fb1ec853eb1 in TrexNet::NetInput::operator>>(TRexUtils::Serializable&)+0x10 at BufferedIO.cpp:3579 (libhdbbasement.so)
    14: 0x00007fb1fabc86d5 in TRexAPI::Partitioning::SplitHandler::serialExecution()+0x281 at Split.cpp:2946 (libhdbcsapi.so)
    15: 0x00007fb1fab8b849 in TRexAPI::Partitioning::SplitHandler::executeJobs(ltt::vector<ltt::shared_ptr<TRexAPI::Partitioning::SplitHandler, ltt::default_deleter, ltt::integral_constant<bool, false>, ltt::integral_constant<bool, false> > >&, TRexAPI::Partitioning::SplitPhase, TRexCommonObjects::TRexApiError&)::{lambda(TRexAPI::Partitioning::RepartitionJob::RunContext&)#1}::operator()(TRexAPI::Partitioning::RepartitionJob::RunContext&) const [clone .isra.0] [clone .lto_priv.0]+0x1a5 at Split.cpp:1144 (libhdbcsapi.so)
    16: 0x00007fb1f2684961 in TRexAPI::Partitioning::RepartitionJob::executeSingleJob(ltt::smartptr_handle<TRexAPI::Partitioning::RepartitionJob> const&)+0xc0 at functional.hpp:3379 (libhdbpartitioningbase.so)
    17: 0x00007fb1fab9b205 in void TRexAPI::Partitioning::RepartitionJob::executeJobs<ltt::vector<ltt::smartptr_handle<TRexAPI::Partitioning::RepartitionJob> > >(char const*, ltt::vector<ltt::smartptr_handle<TRexAPI::Partitioning::RepartitionJob> > const&, unsigned int)+0x5d1 at RepartitionJob.h:144 (libhdbcsapi.so)
    18: 0x00007fb1fabe1efa in TRexAPI::Partitioning::SplitHandler::executeJobs(ltt::vector<ltt::shared_ptr<TRexAPI::Partitioning::SplitHandler, ltt::default_deleter, ltt::integral_constant<bool, false>, ltt::integral_constant<bool, false> > >&, TRexAPI::Partitioning::SplitPhase, TRexCommonObjects::TRexApiError&)+0xb6 at Split.cpp:1161 (libhdbcsapi.so)
    19: 0x00007fb1fabcca26 in TRexAPI::Partitioning::SplitHandler::moveData()+0x2e52 at Split.cpp:3163 (libhdbcsapi.so)
    20: 0x00007fb1fabd3b2b in TRexAPI::Partitioning::SplitHandler::splitIndex()+0x1c7 at Split.cpp:2604 (libhdbcsapi.so)
    21: 0x00007fb1fa836d42 in TRexAPI::TRexApiAdmin::splitIndex(ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> > const&, TRexEnums::REPARTITION_TYPE, ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> > const&)+0x1d0 at TRexApiAdmin.cpp:3288 (libhdbcsapi.so)
    22: 0x00007fb1fa824cd6 in TRexAPI::TRexApiAdmin::alterPartitionSpec(ltt_adp::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<bool, true> > const&, ltt_adp::vector<ptime::RangePartition::StorageType, ltt::integral_constant<bool, true> > const&, unsigned long, ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> > const&, TRexEnums::REPARTITION_TYPE, ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> > const&)+0xd2 at TRexApiAdmin.cpp:5019 (libhdbcsapi.so)
    23: 0x00007fb1fd424950 in ptime::TrexMD::alterPartitionSpec(ltt_adp::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<bool, true> > const&, ltt_adp::vector<ptime::RangePartition::StorageType, ltt::integral_constant<bool, true> > const&, unsigned long, ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> > const&, TRexEnums::REPARTITION_TYPE, ltt_adp::vector<unsigned int, ltt::integral_constant<bool, true> > const&)+0x20 at trex_metadata.cc:1425 (libhdbcswrapper.so)
    24: 0x00007fb1f5c7f66f in ptime::QueryExecutor::trex_partition_by(ptime::ClassPtr<Metadata::TableInfo>, ptime::qp_alter_table const*)+0x5ab at vector.hpp:53 (libhdbrskernel.so)
    25: 0x00007fb1f5e1db50 in ptime::QueryExecutor::trex_alter_table(ptime::qp_alter_table const*, ptime::Query::result_t*)+0xf70 at qx_trex.cc:2039 (libhdbrskernel.so)
    26: 0x00007fb1f5e93229 in ptime::QueryExecutor::alter_table_common(ptime::qp_alter_table const*, ptime::ClassPtr<Metadata::TableInfo>, ptime::Query::result_t*)+0x295 at qx_table.cc:6421 (libhdbrskernel.so)
    27: 0x00007fb1f5e978d1 in ptime::QueryExecutor::alter_table(ptime::qp_alter_table const*, ptime::ClassPtr<Metadata::TableInfo>, ptime::Query::result_t*)+0x2a0 at qx_table.cc:6312 (libhdbrskernel.so)
    28: 0x00007fb1f5e97c56 in ptime::QueryExecutor::alter_table(ptime::qp_alter_table const*, ptime::Query::result_t*)+0x162 at qx_table.cc:6228 (libhdbrskernel.so)
    29: 0x00007fb1f60d24e4 in ptime::QueryExecutor::execute(ptime::Transaction&, char const*, ptime::qp_parse_tree const*, ptime::Query::Plan*, ptime::Query::result_t*, ptime::QueryExecutor*)+0xf10 at qx.cc:601 (libhdbrskernel.so)

    .........

  

 

  • The Savepoint has to wait for an exclusive ConsistentChangeLock while preparing to enter the critical phase. The ConsistentChangeLock is owned by the following jobworker thread(s) belong to the re-partition transaction under TID: 109 :

IndexServer_hostname_30040_runtimedump_2022_09_16_09_07_18

[SAVEPOINT_SHAREDLOCK_OWNERS]  Owners of shared SavepointLocks: (2022-09-16 09:07:39 145 Local)
3468460837[thr=21233]: JobWrk429639, TID: 109, UTID: 454361139, CID: 218828, LCID: 218828, SEID: 1125908701881700, parent: 36511, SQLUserName: "201022594", AppUserName: "201022594", AppName: "HDBStudio", ConnCtx: 218828 {LDBID: 4, LCID: 218828}, StmtCtx: (1) 939861514197015 {Parent: 218828, P: 5, THRL: 32, MEMLGB: 300, TIMESec: 0, ObjHdl: 140031081336320, User: "201022594", Schema: "201022594", SesCtx: {ObjHdl: 138248276535296, CID: 218828, LCID: 218828, User: "201022594", Schema: "201022594", Ver: 9, CtxID: 7870860}}, WorkloadCtx: 1125917393900357{INDI, P=5, THRL=32, MEMLGB=300, TIMESec=0, WTXMin=0, ICURMin=720, NAME=_SYS_DEFAULT}, type: "JobWorker", method: "", detail: "", command: "" at 0x00007fb1eaad04f8 in DataAccess::OpenPageAccounting::openPage(PageAccess::PageControlBlock*, bool)+0x88 at OpenPageAccounting.cpp:61 (libhdbdataaccess.so)
[OK]



3468460837[thr=21233]: JobWrk429639, TID: 109, UTID: 454361139, CID: 218828, LCID: 218828, SEID: 1125908701881700, parent: 36511, SQLUserName: "201022594", AppUserName: "201022594", AppName: "HDBStudio", ConnCtx: 218828 {LDBID: 4, LCID: 218828}, StmtCtx: (1) 939861514197015 {Parent: 218828, P: 5, THRL: 32, MEMLGB: 300, TIMESec: 0, ObjHdl: 140031081336320, User: "201022594", Schema: "201022594", SesCtx: {ObjHdl: 138248276535296, CID: 218828, LCID: 218828, User: "201022594", Schema: "201022594", Ver: 9, CtxID: 7870860}}, WorkloadCtx: 1125917393900357{INDI, P=5, THRL=32, MEMLGB=300, TIMESec=0, WTXMin=0, ICURMin=720, NAME=_SYS_DEFAULT}, type: "JobWorker", method: "", detail: "", command: "" at 0x00007fb1eaad04f8 in DataAccess::OpenPageAccounting::openPage(PageAccess::PageControlBlock*, bool)+0x88 at OpenPageAccounting.cpp:61 (libhdbdataaccess.so)

3468460837[thr=21233]: JobWrk429639 at
 1: 0x00007fb1e696b5ad in __nanosleep_nocancel+0x20 (libpthread.so.0)
 2: 0x00007fb1e7364a9b in Execution::sleep(timespec&)+0x67 at Sleep.cpp:33 (libhdbbasis.so)
 3: 0x00007fb1e7364bf1 in Execution::milliSleep(unsigned long)+0x40 at Sleep.cpp:60 (libhdbbasis.so)
 4: 0x00007fb1f1312351 in BufferCacheManager::LogicalPageBufferCache::provideControlblockInternal(PageAccess::SizeClass, PageAccess::SizeClass, ResourceManager::ResourceContainer&, PageAccess::LogicalPageAccess&, unsigned long, PageAccess::PageNo const&, ResourceManager::Disposition, PageAccess::ConverterPageControlBlock*, DAEncryption::EncryptionManager*, bool, Synchronization::ReadWriteLockStatistics*, bool)+0x420 at BufferCache.cpp:448 (libhdbnds.so)
 5: 0x00007fb1ea701d18 in PageAccess::LogicalPageResourceProvider::provideControlblock(PageAccess::SizeClass, PageAccess::SizeClass, ResourceManager::ResourceContainer&, PageAccess::LogicalPageAccess&, unsigned long, PageAccess::PageNo const&, ResourceManager::Disposition, PageAccess::ConverterPageControlBlock*, DAEncryption::EncryptionManager*, bool, Synchronization::ReadWriteLockStatistics*, bool)+0xb4 at LogicalPageResourceProviderImpl.cpp:113 (libhdbdataaccess.so)
 6: 0x00007fb1ea68f0fa in PageAccess::LogicalPageAccessImpl::loadPageInternal(PageAccess::PageNo const&, PageAccess::SizeClass&, DataContainer::ContainerID const&, ResourceManager::ResourceHint const&, ResourceManager::Disposition, bool, bool&, ResourceManager::HandleMissingResourceMode, bool const&, PageAccess::LogicalPageResourceProvider&) [clone .constprop.0]+0xd76 at LogicalPageAccessImpl.cpp:1741 (libhdbdataaccess.so)
 7: 0x00007fb1ea716d4c in PageAccess::LogicalPageAccess::loadPage(PageAccess::PageNo const&, DataContainer::ContainerID const&, ResourceManager::ResourceHint const&, ResourceManager::Disposition, ResourceManager::HandleMissingResourceMode, PageAccess::LogicalPageResourceProvider&)+0x68 at LogicalPageAccessImpl.hpp:181 (libhdbdataaccess.so)
 8: 0x00007fb1f16790f3 in .LTHUNK100.lto_priv.0+0x110 at PageChain.cpp:1340 (libhdbunifiedtable.so)
 9: 0x00007fb1f16891dd in UnifiedTable::PageChainBase<UnifiedTable::PageDirectoryElement>::loadTemp(unsigned long, ResourceManager::Disposition, bool&)+0x99 at PageChain.cpp:1282 (libhdbunifiedtable.so)
10: 0x00007fb1f1677c61 in .LTHUNK96.lto_priv.0+0x10 at PageChain.cpp:408 (libhdbunifiedtable.so)
11: 0x00007fb1f166a678 in UnifiedTable::DictionaryPagedBlockProvider::loadPageSpanningDictBlock(UnifiedTable::PersDictionaryDescriptor const&, unsigned long) const+0x44 at PageChain.hpp:367 (libhdbunifiedtable.so)
12: 0x00007fb1f18ce904 in UnifiedTable::MainVarDictionaryStorage<UnifiedTable::String, UnifiedTable::CESU8Comparator, (UnifiedTable::DictionaryLoadMode)2>::iterGet(UnifiedTable::MainDictionaryStorage::MainDictionaryBlockHandleCache*, UnifiedTable::DictionaryStorage::TemporaryValueBuffer*, unsigned int, unsigned long&) const+0xd0 at DictionaryPagedBlockProvider.hpp:556 (libhdbunifiedtable.so)
13: 0x00007fb1f18cebc9 in UnifiedTable::MainVarDictionaryStorage<UnifiedTable::String, UnifiedTable::CESU8Comparator, (UnifiedTable::DictionaryLoadMode)2>::getFirst(unsigned long, UnifiedTable::MainDictionaryStorage::MainDictionaryBlockHandleCache&, UnifiedTable::DictionaryStorage::TemporaryValueBuffer*, unsigned long&) const+0x45 at MainVarDictionaryStorage.cpp:2122 (libhdbunifiedtable.so)
14: 0x00007fb209b2e226 in AttributeEngine::RoDictPages<TRexUtils::CESU8, (AttributeEngine::RoDictLoadMode)1, (AttributeEngine::RoDictCompressionAlgorithm)0>::getFirst(AttributeEngine::RoDictIterator&, unsigned int) const+0x212 at RoDictPagedPages.cpp:438 (libhdbcs.so)
15: 0x00007fb20a1efa0e in AttributeEngine::(anonymous namespace)::UncompressedDictWrapper<TrexTypes::StringAttributeValue>::getValue(unsigned long const&, TrexTypes::StringAttributeValue&, ltt::variant<ltt::monostate, AttributeEngine::StringDict<TrexTypes::StringAttributeValue, TRexUtils::CESU8>::iterator, AttributeEngine::CompressedRawDict<TrexTypes::StringAttributeValue>::iterator>&) const+0x4a at RoDictUnified.h:595 (libhdbcs.so)
16: 0x00007fb20a1ece48 in AttributeEngine::DictWrapper<TrexTypes::StringAttributeValue>::getValue(unsigned long, TrexTypes::StringAttributeValue&, ltt::variant<ltt::monostate, AttributeEngine::StringDict<TrexTypes::StringAttributeValue, TRexUtils::CESU8>::iterator, AttributeEngine::CompressedRawDict<TrexTypes::StringAttributeValue>::iterator>&) const+0x14 at PartitioningUtils.cpp:126 (libhdbcs.so)
17: 0x00007fb2090cf0ea in AttributeEngine::SinglePagedSpBase<TrexTypes::StringAttributeValue, AttributeEngine::ValueDict<TrexTypes::StringAttributeValue>, AttributeEngine::PagedAttribute<TrexTypes::StringAttributeValue, AttributeEngine::ValueDict<TrexTypes::StringAttributeValue> > >::paInitSplitAttribute(AttributeEngine::AttributeValueContainer*, TRexUtils::BitVector const&)+0x296 at SinglePagedSpBaseDefPartitioning.inl:77 (libhdbcs.so)
18: 0x00007fb2042ad7fc in AttributeEngine::MemoryAvc2::paSplitAttribute(AttributeEngine::AttributeValueContainer*, TRexUtils::BitVector const&, bool const&)+0x18 at AttributeValueContainerPartitioning.cpp:181 (libhdbcs.so)
19: 0x00007fb20430dada in AttributeEngine::AttributeApi::paSplitAttribute(TrexBase::IndexName const&, TRexUtils::BitVector const&, bool const&)+0x306 at AttributeApiPartitioning.cpp:32 (libhdbcs.so)
20: 0x00007fb1fabadc67 in TRexAPI::Partitioning::SplitHandler::partitionAttributeOptimized(ltt::shared_ptr<TRexAPI::Partitioning::PartitionAttributeInfo, ltt::default_deleter, ltt::integral_constant<bool, false>, ltt::integral_constant<bool, false> >, TrexBase::IndexName const&, ltt::shared_ptr<TRexAPI::Partitioning::WorkerStatus, ltt::default_deleter, ltt::integral_constant<bool, false>, ltt::integral_constant<bool, false> > const&, bool, TRexAPI::Partitioning::WorkerJob&, TRexCommonObjects::TRexApiError&)+0x523 at Split.cpp:5249 (libhdbcsapi.so)
21: 0x00007fb1fabe0ee4 in TRexAPI::Partitioning::WorkerJob::run(TRexAPI::Partitioning::RepartitionJob::RunContext&)+0xc10 at Split.cpp:1573 (libhdbcsapi.so)
22: 0x00007fb1f2684170 in TRexAPI::Partitioning::RepartitionJob::run(Execution::Context&, Execution::JobObject&)+0xa0 at RepartitionJob.cpp:42 (libhdbpartitioningbase.so)
23: 0x00007fb1e73c3856 in Execution::JobObjectImpl::run(Execution::JobWorker*)+0x2372 at JobExecutorImpl.cpp:1226 (libhdbbasis.so)
24: 0x00007fb1e73accfa in Execution::JobWorker::runJob(ltt::smartptr_handle<Execution::JobObjectForHandle>&)+0x336 at JobExecutorThreads.cpp:375 (libhdbbasis.so)
25: 0x00007fb1e73a1ee8 in Execution::JobWorker::run(void*&)+0x764 at JobExecutorThreads.cpp:1280 (libhdbbasis.so)
26: 0x00007fb1e7364105 in Execution::Thread::staticMainImp(Execution::Thread*)+0x531 at Thread.cpp:523 (libhdbbasis.so)
27: 0x00007fb1e7353fb8 in Execution::pthreadFunctionWrapper(Execution::Thread*)+0x1e4 at ThreadInterposition.cpp:640 (libhdbbasis.so)
28: 0x00007fb1e696371a in start_thread+0xc6 (libpthread.so.0)
29: 0x00007fb1e503217d in __clone+0x69 (libc.so.6)

 
 . . . . . 


Read more...

Environment

SAP HANA , platform edition 2.0

Product

SAP HANA, platform edition 2.0

Keywords

Partitioning , PARTITION BY HASH, SqlExecutor"Network Poll, ALTER TABLE Job Exec Waiting, Synchronization::BinarySemaphore::timedWait(unsigned long, Execution::Context&), Execution::JobBarrier::wait(Execution::Context&, Execution::JobFinalObjectImpl const*) .




  , KBA , HAN-DB , SAP HANA Database , HAN-DB-NSE , SAP HANA Native Storage Extension , 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.