Project

General

Profile

« Previous | Next » 

Revision 9354

Added by Jing Tao over 8 years ago

Add the case the mn.updateSystemMetadata and cn.updateSystemMetadata will call the archive method internally.

View differences:

MNodeService.java
2355 2355
	             HazelcastService.getInstance().getSystemMetadataMap().lock(pid);
2356 2356
	             logMetacat.debug("MNodeService.archive - lock the identifier "+pid.getValue()+" in the system metadata map.");
2357 2357
	             SystemMetadata sysmeta = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
2358
	             super.archiveObject(session, pid, sysmeta); 
2358
	             boolean needModifyDate = true;
2359
	             super.archiveObject(session, pid, sysmeta, needModifyDate); 
2359 2360
	         } finally {
2360 2361
	             HazelcastService.getInstance().getSystemMetadataMap().unlock(pid);
2361 2362
	             logMetacat.debug("MNodeService.archive - unlock the identifier "+pid.getValue()+" in the system metadata map.");
......
2428 2429
                      ". Please check if you have got the newest version of the system metadata before the modification.");
2429 2430
          }
2430 2431
          boolean needUpdateModificationDate = true;
2431
          success = updateSystemMetadata(session, pid, sysmeta, needUpdateModificationDate, currentSysmeta);
2432
          boolean fromCN = false;
2433
          success = updateSystemMetadata(session, pid, sysmeta, needUpdateModificationDate, currentSysmeta, fromCN);
2432 2434
      } finally {
2433 2435
          HazelcastService.getInstance().getSystemMetadataMap().unlock(pid);
2434 2436
      }

Also available in: Unified diff