Project

General

Profile

« Previous | Next » 

Revision 7208

remove pause/resume - seemed to make metacat just hang on SM retrieval. Add more logging when returned SM is null -- want to make sure it is becuase the local node "owns" the pid key even though there is no value for it.

View differences:

src/edu/ucsb/nceas/metacat/dataone/hazelcast/HazelcastService.java
211 211
      logMetacat.debug("Initialized systemMetadata");
212 212

  
213 213
      // Get a reference to the shared identifiers set as a cluster member
214
      // NOTE: this takes a long time to complete
214 215
      identifiers = Hazelcast.getSet(identifiersSet);
215 216
      identifiers.addAll(loadAllKeys());
216 217
      
......
235 236
    
236 237
    // make sure we have all metadata locally
237 238
    try {
238
        logMetacat.debug("Temporarily shutting down which resynching system metadata");
239

  
240
    	// pause to make us not own any keys
241
    	hzInstance.getLifecycleService().pause();
242 239
    	// synch on restart
243 240
        resynchInThread();
244 241
	} catch (Exception e) {
......
512 509
					saveLocally(sm);
513 510
				} else {
514 511
					logMetacat.error("SystemMetadata for pid is null: " + pid.getValue());
512
					Partition partition = hzInstance.getPartitionService().getPartition(pid);
513
					Member owner = partition.getOwner();
514
					owner.localMember();
515
					logMetacat.warn("owner of pid: " + pid.getValue() + " isLocal: " + owner.localMember() + " at " + owner.getInetSocketAddress().getAddress());
516

  
515 517
				}
516 518
			} else {
517 519
				logMetacat.debug("shared pid already exisits locally: " + pid.getValue());
518 520
			}
519 521
		}
520
		// now we can take ownership of keys
521
		hzInstance.getLifecycleService().resume();
522 522
	}
523 523
	
524 524
	private void resynchInThread() {

Also available in: Unified diff