Project

General

Profile

« Previous | Next » 

Revision 7295

log error when looking up non-existent local SM rather than completely bombing out of the resynch thread.

View differences:

src/edu/ucsb/nceas/metacat/dataone/hazelcast/HazelcastService.java
538 538
	 * the server can continue to service other requests during the synch
539 539
	 * @throws Exception
540 540
	 */
541
	private void resynchToRemote() throws Exception {
541
	private void resynchToRemote() {
542 542
		// loop through all the [shared] entries and save any missing ones locally
543 543
		List<String> localPids = IdentifierManager.getInstance().getAllSystemMetadataGUIDs();
544 544
		logMetacat.warn("local pid count: " + localPids.size() + ", shared pid count: " + identifiers.size());
......
559 559
				// if we don't own it, we can look it up locally in hopes that we have our own copy
560 560
				if (true) {
561 561
					// get directly from backing store
562
					sm = IdentifierManager.getInstance().getSystemMetadata(pid.getValue());
563
					
562
					try {
563
						sm = IdentifierManager.getInstance().getSystemMetadata(pid.getValue());
564
					} catch (McdbDocNotFoundException e) {
565
						// log and move on, there's nothing more we can do
566
						logMetacat.error("Could not find local SystemMetadata for pid: " + pid.getValue(), e);
567
						continue;
568
					}
564 569
				}
565 570
			}
566 571
			// check again, but hopefully we can add it to the map now (again) so that it is propgated to all listening members

Also available in: Unified diff