virtual void reset() { CSlaveActivity::reset(); if (sorter) return; // JCSMORE loop - shouldn't have to recreate sorter between loop iterations if (!isLocal && TAG_NULL != mpTagRPC) sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&container.queryJob().queryJobComm(),mpTagRPC)); }
virtual void init(MemoryBuffer &data, MemoryBuffer &slaveData) override { mpTagRPC = container.queryJobChannel().deserializeMPTag(data); mptag_t barrierTag = container.queryJobChannel().deserializeMPTag(data); barrier.setown(container.queryJobChannel().createBarrier(barrierTag)); portbase = allocPort(NUMSLAVEPORTS); ActPrintLog("MSortSlaveActivity::init portbase = %d, mpTagRPC = %d",portbase,(int)mpTagRPC); server.setLocalHost(portbase); helper = (IHThorSortArg *)queryHelper(); sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&queryJobChannel().queryJobComm(),mpTagRPC)); server.serialize(slaveData); }
// IThorSlaveActivity virtual void init(MemoryBuffer & data, MemoryBuffer &slaveData) override { if(!isLocal) { mpTagRPC = container.queryJobChannel().deserializeMPTag(data); mptag_t barrierTag = container.queryJobChannel().deserializeMPTag(data); barrier.setown(container.queryJobChannel().createBarrier(barrierTag)); portbase = allocPort(NUMSLAVEPORTS); server.setLocalHost(portbase); sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&queryJobChannel().queryJobComm(),mpTagRPC)); server.serialize(slaveData); } compare = helper->queryCompareLeft(); // NB not CompareLeftRight keyserializer = helper->querySerializeLeft(); // hopefully never need right if(isLightweight) ActPrintLog("SELFJOIN: LIGHTWEIGHT"); else if(isLocal) ActPrintLog("SELFJOIN: LOCAL"); else ActPrintLog("SELFJOIN: GLOBAL"); }
// IThorSlaveActivity virtual void init(MemoryBuffer & data, MemoryBuffer &slaveData) { appendOutputLinked(this); if(!isLocal) { mpTagRPC = container.queryJob().deserializeMPTag(data); mptag_t barrierTag = container.queryJob().deserializeMPTag(data); barrier.setown(container.queryJob().createBarrier(barrierTag)); portbase = allocPort(NUMSLAVEPORTS); SocketEndpoint server; server.setLocalHost(portbase); sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&container.queryJob().queryJobComm(),mpTagRPC)); server.serialize(slaveData); } helper = static_cast <IHThorJoinArg *> (queryHelper()); compare = helper->queryCompareLeft(); // NB not CompareLeftRight keyserializer = helper->querySerializeLeft(); // hopefully never need right if(isLightweight) ActPrintLog("SELFJOIN: LIGHTWEIGHT"); else if(isLocal) ActPrintLog("SELFJOIN: LOCAL"); else ActPrintLog("SELFJOIN: GLOBAL"); }
void reset() { if (sorter) return; // JCSMORE loop - shouldn't have to recreate sorter between loop iterations sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&container.queryJob().queryJobComm(),mpTagRPC)); }