Selaa lähdekoodia

Merge pull request #4956 from jakesmith/hpcc-10130

HPCC-10130 - Set accessedTime for all files

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 11 vuotta sitten
vanhempi
commit
d5d0390f6b

+ 2 - 2
ecl/hthor/hthor.cpp

@@ -674,7 +674,7 @@ void CHThorDiskWriteActivity::publish()
         throw MakeStringException(99, "Cannot publish %s, invalid logical name", lfn.str());
     if (!logicalName.isExternal()) { // no need to publish externals
         Owned<IDistributedFile> file = queryDistributedFileDirectory().createNew(desc);
-        if((helper.getFlags() & TDWpersist) && file->getModificationTime(modifiedTime))
+        if(file->getModificationTime(modifiedTime))
             file->setAccessedTime(modifiedTime);
         file->attach(logicalName.get(), agent.queryCodeContext()->queryUserDescriptor());
         agent.logFileAccess(file, "HThor", "CREATED");
@@ -7889,7 +7889,7 @@ void CHThorDiskReadBaseActivity::close()
     if(ldFile)
     {
         IDistributedFile * dFile = ldFile->queryDistributedFile();
-        if(dFile&&persistent) 
+        if(dFile)
             dFile->setAccessed();
         ldFile.clear();
     }

+ 1 - 4
thorlcr/activities/thdiskbase.cpp

@@ -115,10 +115,7 @@ void CDiskReadMasterBase::done()
     IHThorDiskReadBaseArg *helper = (IHThorDiskReadBaseArg *) queryHelper();
     fileDesc.clear();
     if (!abortSoon) // in case query has relinquished control of file usage to another query (e.g. perists) 
-    {
-        if (0 != (helper->getFlags() & TDXupdateaccessed))
-            queryThorFileManager().updateAccessTime(container.queryJob(), fileName);
-    }
+        queryThorFileManager().updateAccessTime(container.queryJob(), fileName);
 }
 
 void CDiskReadMasterBase::deserializeStats(unsigned node, MemoryBuffer &mb)

+ 1 - 13
thorlcr/mfilemanager/thmfilemanager.cpp

@@ -548,19 +548,7 @@ public:
             fileMap.replace(*new CIDistributeFileMapping(scopedName.str(), *LINK(file))); // cache takes ownership
             return;
         }
-        if (props.getPropBool("@persistent"))
-        {
-            // JCSMORE - is this right? - looks like it will set to *last* mod time - need to check..
-            //         - shouldn't it just be a call to updateAccessTime(job, *f) ?
-
-            CDateTime modTime;
-            if (file->getModificationTime(modTime))
-            {
-                StringBuffer modTimeStr;
-                modTime.getString(modTimeStr);
-                file->queryAttributes().setProp("@accessed", modTimeStr.str());
-            }
-        }
+        file->setAccessed();
         if (publishedFile)
             publishedFile->set(file);
         __int64 fs = file->getFileSize(false,false);