@Override public void run() { Thread.currentThread().setName("Watching " + store.name()); int[] oldCounts = new int[TabletState.values().length]; EventCoordinator.Listener eventListener = this.master.nextEvent.getListener(); continue; Master.log.debug("{} location State: {}", store.name(), tls); int i = state.ordinal(); if (counts[i] > 0 && counts[i] != oldCounts[i]) { this.master.nextEvent.event("[%s]: %d tablets are %s", store.name(), counts[i], state.name()); Master.log.debug(String.format("[%s]: scan time %.2f seconds", store.name(), stats.getScanTime() / 1000.)); oldCounts = counts; if (totalUnloaded > 0) { this.master.nextEvent.event("[%s]: %d tablets unloaded", store.name(), totalUnloaded); Master.log.debug(String.format("[%s] sleeping for %.2f seconds", store.name(), Master.TIME_TO_WAIT_BETWEEN_SCANS / 1000.)); eventListener.waitForEvents(Master.TIME_TO_WAIT_BETWEEN_SCANS); Master.log.error("Error processing table state for store " + store.name(), ex); if (ex.getCause() != null && ex.getCause() instanceof BadLocationStateException) { repairMetadata(((BadLocationStateException) ex.getCause()).getEncodedEndRow());
if (unassigned.containsKey(assignment.getKey())) { if (assignment.getValue() != null) { log.debug(store.name() + " assigning tablet " + assignment); assignments.add(new Assignment(assignment.getKey(), assignment.getValue())); log.warn(store.name() + " load balancer assigning tablet that was not nominated for assignment " + assignment.getKey());
Master.log.debug(store.name() + " assigning tablets: [" + builder.toString()); builder.setLength(0); Master.log.warn(store.name() + " load balancer assigning tablet that was not nominated for assignment " + assignment.getKey()); Master.log.debug(store.name() + " assigning tablets: [" + builder.toString());
@Override public void run() { Thread.currentThread().setName("Watching " + store.name()); int[] oldCounts = new int[TabletState.values().length]; EventCoordinator.Listener eventListener = nextEvent.getListener(); int i = state.ordinal(); if (counts[i] > 0 && counts[i] != oldCounts[i]) { nextEvent.event("[%s]: %d tablets are %s", store.name(), counts[i], state.name()); log.debug(String.format("[%s]: scan time %.2f seconds", store.name(), stats.getScanTime() / 1000.)); oldCounts = counts; if (totalUnloaded > 0) { nextEvent.event("[%s]: %d tablets unloaded", store.name(), totalUnloaded); log.debug(String.format("[%s] sleeping for %.2f seconds", store.name(), TIME_TO_WAIT_BETWEEN_SCANS / 1000.)); eventListener.waitForEvents(TIME_TO_WAIT_BETWEEN_SCANS); } catch (Exception ex) { log.error("Error processing table state for store " + store.name(), ex); if (ex.getCause() != null && ex.getCause() instanceof BadLocationStateException) { repairMetadata(((BadLocationStateException) ex.getCause()).getEncodedEndRow());
@Override public void run() { Thread.currentThread().setName("Watching " + store.name()); int[] oldCounts = new int[TabletState.values().length]; EventCoordinator.Listener eventListener = this.master.nextEvent.getListener(); continue; Master.log.debug(store.name() + " location State: " + tls); int i = state.ordinal(); if (counts[i] > 0 && counts[i] != oldCounts[i]) { this.master.nextEvent.event("[%s]: %d tablets are %s", store.name(), counts[i], state.name()); Master.log.debug(String.format("[%s]: scan time %.2f seconds", store.name(), stats.getScanTime() / 1000.)); oldCounts = counts; if (totalUnloaded > 0) { this.master.nextEvent.event("[%s]: %d tablets unloaded", store.name(), totalUnloaded); Master.log.debug(String.format("[%s] sleeping for %.2f seconds", store.name(), Master.TIME_TO_WAIT_BETWEEN_SCANS / 1000.)); eventListener.waitForEvents(Master.TIME_TO_WAIT_BETWEEN_SCANS); Master.log.error("Error processing table state for store " + store.name(), ex); if (ex.getCause() != null && ex.getCause() instanceof BadLocationStateException) { repairMetadata(((BadLocationStateException) ex.getCause()).getEncodedEndRow());