Explorar el Código

HPCC-11852 Remove calls to getDatasetName from indexwrite

Going to some lengths to deduce a value that is never used...

I will look at removing the generation of the getDatasetname helpr in a
subsequent commit (there may be compatibility reasons we don't want to do
that).

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman hace 11 años
padre
commit
7ecbbc7938

+ 1 - 12
ecl/hthor/hthor.cpp

@@ -1025,17 +1025,6 @@ void CHThorIndexWriteActivity::execute()
 
     // Loop thru the results
     unsigned __int64 reccount = 0;
-    unsigned __int64 fileSize = 0;
-    OwnedRoxieString dsName(helper.getDatasetName());
-    if (dsName.get())
-    {
-        Owned<ILocalOrDistributedFile> ldFile = agent.resolveLFN(dsName,"IndexWrite::execute",false,false,true);
-        if (ldFile )
-        {
-            IDistributedFile * dFile = ldFile->queryDistributedFile();
-            fileSize = dFile ? dFile->queryAttributes().getPropInt64("@size", 0) : ldFile->getPartFileSize(0);//MORE: is local part correct?
-        }
-    }
     unsigned int fileCrc = -1;
     file.setown(createIFile(filename.get()));
     {
@@ -1065,7 +1054,7 @@ void CHThorIndexWriteActivity::execute()
         buildLayoutMetadata(metadata);
         unsigned nodeSize = metadata ? metadata->getPropInt("_nodeSize", NODESIZE) : NODESIZE;
         size32_t keyMaxSize = helper.queryDiskRecordSize()->getRecordSize(NULL);
-        Owned<IKeyBuilder> builder = createKeyBuilder(out, flags, keyMaxSize, fileSize, nodeSize, helper.getKeyedSize(), 0);
+        Owned<IKeyBuilder> builder = createKeyBuilder(out, flags, keyMaxSize, nodeSize, helper.getKeyedSize(), 0);
         class BcWrapper : implements IBlobCreator
         {
             IKeyBuilder *builder;

+ 1 - 12
roxie/ccd/ccdserver.cpp

@@ -11404,18 +11404,7 @@ public:
 
         OwnedMalloc<char> rowBuffer(maxDiskRecordSize, true);
 
-        unsigned __int64 fileSize = 0;
         fileCrc = -1;
-        OwnedRoxieString dsName(helper.getDatasetName());
-        if (dsName.get())
-        {
-            Owned<const IResolvedFile> dsFileInfo = resolveLFN(dsName, true);
-            if (dsFileInfo)
-            {
-                fileSize = dsFileInfo->getFileSize();
-            }
-        }
-
         {
             Owned<IFileIO> io;
             try
@@ -11443,7 +11432,7 @@ public:
             buildUserMetadata(metadata);
             buildLayoutMetadata(metadata);
             unsigned nodeSize = metadata ? metadata->getPropInt("_nodeSize", NODESIZE) : NODESIZE;
-            Owned<IKeyBuilder> builder = createKeyBuilder(out, flags, maxDiskRecordSize, fileSize, nodeSize, helper.getKeyedSize(), 0);
+            Owned<IKeyBuilder> builder = createKeyBuilder(out, flags, maxDiskRecordSize, nodeSize, helper.getKeyedSize(), 0);
             class BcWrapper : implements IBlobCreator
             {
                 IKeyBuilder *builder;

+ 1 - 1
system/jhtree/ctfile.hpp

@@ -90,7 +90,7 @@ struct __declspec(novtable) jhtree_decl KeyHdr
     __int64 tstamp; /* update time stamp            b8x */
     __int64 rs3[3]; /* future use               c0x */
     __int64 fposOffset; /* amount by which file positions are biased        d8x */
-    __int64 fileSize; /* fileSize - used in the bias calculation e0x */
+    __int64 fileSize; /* fileSize - was once used in the bias calculation e0x */
     short nodeKeyLength; /* key length in intermediate level nodes e8x */
     unsigned short version; /* build version - to be updated if key format changes    eax*/
     short unused[2]; /* unused ecx */

+ 1 - 1
system/jhtree/jhtree.cpp

@@ -3050,7 +3050,7 @@ class IKeyManagerTest : public CppUnit::TestFixture
         Owned<IFileIOStream> out = createIOStream(io);
         unsigned maxRecSize = (variable && blobby) ? 18 : 10;
         unsigned keyedSize = (shortForm || (variable && blobby)) ? 10 : (unsigned) -1;
-        Owned<IKeyBuilder> builder = createKeyBuilder(out, COL_PREFIX | HTREE_FULLSORT_KEY | HTREE_COMPRESSED_KEY |  (variable ? HTREE_VARSIZE : 0), maxRecSize, 0, NODESIZE, keyedSize, 0);
+        Owned<IKeyBuilder> builder = createKeyBuilder(out, COL_PREFIX | HTREE_FULLSORT_KEY | HTREE_COMPRESSED_KEY |  (variable ? HTREE_VARSIZE : 0), maxRecSize, NODESIZE, keyedSize, 0);
 
         char keybuf[18];
         memset(keybuf, '0', 18);

+ 6 - 9
system/jhtree/keybuild.cpp

@@ -83,7 +83,6 @@ protected:
     CWriteNode *prevLeafNode;
     NodeInfoArray leafInfo;
     Linked<IFileIOStream> out;
-    offset_t fileSize;
     unsigned keyedSize;
     unsigned __int64 sequence;
     CRC32StartHT crcStartPosTable;
@@ -93,7 +92,7 @@ protected:
 public:
     IMPLEMENT_IINTERFACE;
 
-    CKeyBuilderBase(IFileIOStream *_out, unsigned flags, unsigned rawSize, offset_t _fileSize, unsigned nodeSize, unsigned _keyedSize, unsigned __int64 _startSequence) : out(_out)
+    CKeyBuilderBase(IFileIOStream *_out, unsigned flags, unsigned rawSize, unsigned nodeSize, unsigned _keyedSize, unsigned __int64 _startSequence) : out(_out)
     {
         doCrc = false;
         sequence = _startSequence;
@@ -101,8 +100,6 @@ public:
         keyValueSize = rawSize;
         keyedSize = _keyedSize != (unsigned) -1 ? _keyedSize : rawSize;
 
-        fileSize = _fileSize;
-
         levels = 0;
         records = 0;
         nextPos = nodeSize; // leaving room for header
@@ -129,7 +126,7 @@ public:
         hdr->defrel = 8;
         hdr->hdrseq = 0;
         hdr->fposOffset = 0;
-        hdr->fileSize = fileSize;
+        hdr->fileSize = 0;
         hdr->nodeKeyLength = _keyedSize;
         hdr->version = KEYBUILD_VERSION;
         hdr->blobHead = 0;
@@ -344,8 +341,8 @@ private:
 public:
     IMPLEMENT_IINTERFACE;
 
-    CKeyBuilder(IFileIOStream *_out, unsigned flags, unsigned rawSize, offset_t fileSize, unsigned nodeSize, unsigned keyedSize, unsigned __int64 startSequence) 
-        : CKeyBuilderBase(_out, flags, rawSize, fileSize, nodeSize, keyedSize, startSequence)
+    CKeyBuilder(IFileIOStream *_out, unsigned flags, unsigned rawSize, unsigned nodeSize, unsigned keyedSize, unsigned __int64 startSequence)
+        : CKeyBuilderBase(_out, flags, rawSize, nodeSize, keyedSize, startSequence)
     {
         doCrc = true;
         activeNode = NULL;
@@ -489,9 +486,9 @@ protected:
     }
 };
 
-extern jhtree_decl IKeyBuilder *createKeyBuilder(IFileIOStream *_out, unsigned flags, unsigned rawSize, offset_t fileSize, unsigned nodeSize, unsigned keyFieldSize, unsigned __int64 startSequence)
+extern jhtree_decl IKeyBuilder *createKeyBuilder(IFileIOStream *_out, unsigned flags, unsigned rawSize, unsigned nodeSize, unsigned keyFieldSize, unsigned __int64 startSequence)
 {
-    return new CKeyBuilder(_out, flags, rawSize, fileSize, nodeSize, keyFieldSize, startSequence);
+    return new CKeyBuilder(_out, flags, rawSize, nodeSize, keyFieldSize, startSequence);
 }
 
 

+ 1 - 1
system/jhtree/keybuild.hpp

@@ -101,7 +101,7 @@ interface IKeyBuilder : public IInterface
     virtual unsigned __int64 createBlob(size32_t size, const char * _ptr) = 0;
 };
 
-extern jhtree_decl IKeyBuilder *createKeyBuilder(IFileIOStream *_out, unsigned flags, unsigned rawSize, offset_t fileSize, unsigned nodeSize, unsigned keyFieldSize, unsigned __int64 startSequence);
+extern jhtree_decl IKeyBuilder *createKeyBuilder(IFileIOStream *_out, unsigned flags, unsigned rawSize, unsigned nodeSize, unsigned keyFieldSize, unsigned __int64 startSequence);
 
 interface IKeyDesprayer : public IInterface
 {

+ 1 - 1
system/jhtree/keydiff.cpp

@@ -417,7 +417,7 @@ public:
             flags |= HTREE_VARSIZE;
         if(quickCompressed)
             flags |= HTREE_QUICK_COMPRESSED_KEY;
-        keyBuilder.setown(createKeyBuilder(keyStream, flags, rowsize, 0, nodeSize, keyedsize, 0)); // MORE - support for sequence other than 0...
+        keyBuilder.setown(createKeyBuilder(keyStream, flags, rowsize, nodeSize, keyedsize, 0)); // MORE - support for sequence other than 0...
     }
 
     ~CKeyWriter()

+ 0 - 22
thorlcr/activities/indexwrite/thindexwrite.cpp

@@ -29,7 +29,6 @@
 class IndexWriteActivityMaster : public CMasterActivity
 {
     rowcount_t recordsProcessed;
-    offset_t fileSize;
     Owned<IFileDescriptor> fileDesc;
     bool buildTlk, isLocal, singlePartKey;
     StringArray clusters;
@@ -155,26 +154,6 @@ public:
                 props.setProp("@modified", existingTlk->queryAttributes().queryProp("@modified"));
         }
         
-        StringBuffer datasetName;
-        fileSize = 0;
-        OwnedRoxieString dname(helper->getDatasetName());
-        if (dname)
-        {
-            if (dname[0] == '~')
-                datasetName.append(dname+1);
-            else
-            {               
-                datasetName.append(container.queryJob().queryScope());
-                if (datasetName.length())
-                    datasetName.append("::");
-                datasetName.append(dname);
-            }
-
-            Owned<IDistributedFile> df = queryDistributedFileDirectory().lookup(datasetName.str(), container.queryJob().queryUserDescriptor());
-            if (df)
-                fileSize = df->queryAttributes().getPropInt64("@size", 0);
-        }
-
         // Fill in some logical file properties here
         IPropertyTree &props = fileDesc->queryProperties();
 #if 0   // not sure correct record size to put in yet
@@ -211,7 +190,6 @@ public:
         else
             dst.append(false);
 
-        dst.append(fileSize);
         dst.append(singlePartKey);
         dst.append(refactor);
         if (!singlePartKey)

+ 1 - 4
thorlcr/activities/indexwrite/thindexwriteslave.cpp

@@ -79,8 +79,6 @@ class IndexWriteSlaveActivity  : public ProcessSlaveActivity, public ISmartBuffe
     OwnedConstThorRow lastRow, firstRow;
     bool needFirstRow, enableTlkPart0, receivingTag2;
 
-    offset_t fileSize;
-
     unsigned replicateDone;
     Owned<IFile> existingTlkIFile;
     unsigned partCrc, tlkCrc;
@@ -136,7 +134,6 @@ public:
             partDesc.setown(deserializePartFileDescriptor(data));
         }
 
-        data.read(fileSize);
         data.read(singlePartKey);
         data.read(refactor);
         if (singlePartKey)
@@ -206,7 +203,7 @@ public:
         buildUserMetadata(metadata);                
         buildLayoutMetadata(metadata);
         unsigned nodeSize = metadata ? metadata->getPropInt("_nodeSize", NODESIZE) : NODESIZE;
-        builder.setown(createKeyBuilder(out, flags, maxDiskRecordSize, fileSize, nodeSize, helper->getKeyedSize(), isTopLevel ? 0 : totalCount));
+        builder.setown(createKeyBuilder(out, flags, maxDiskRecordSize, nodeSize, helper->getKeyedSize(), isTopLevel ? 0 : totalCount));
     }