public override void Run() { try { signal.Wait(); manager.MaybeRefresh(); writer.DeleteDocuments(new TermQuery(new Term("foo", "barista"))); manager.MaybeRefresh(); // kick off another reopen so we inc. the internal gen } catch (Exception e) when(e.IsException()) { e.printStackTrace(); } finally { latch.Reset(latch.CurrentCount == 0 ? 0 : latch.CurrentCount - 1); // let the add below finish } }
public override void Run() { try { Signal.@await(); Manager.MaybeRefresh(); Writer.DeleteDocuments(new TermQuery(new Term("foo", "barista"))); Manager.MaybeRefresh(); // kick off another reopen so we inc. the internal gen } catch (Exception e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } finally { Latch.countDown(); // let the add below finish } }