You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by mc...@apache.org on 2019/05/03 20:52:13 UTC
[incubator-pinot] branch master updated: Added service status logs
to indicate more znode information (#4184)
This is an automated email from the ASF dual-hosted git repository.
mcvsubbu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 5920969 Added service status logs to indicate more znode information (#4184)
5920969 is described below
commit 5920969434c4828b7f22dcd3b9d6a81da1619db4
Author: Subbu Subramaniam <mc...@users.noreply.github.com>
AuthorDate: Fri May 3 13:52:07 2019 -0700
Added service status logs to indicate more znode information (#4184)
* Added service status logs to indicate more znode information
Added the creation/modification times and znode version so that we
can get more debug information when we wait for a resource partition
to converge with idealstate.
* Guard against helix not initializing stat in HelixProperty
As per Helix team's advice
---
.../main/java/org/apache/pinot/common/utils/ServiceStatus.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java b/pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java
index 8e51026..b231ac1 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java
@@ -27,6 +27,7 @@ import java.util.Set;
import org.apache.helix.HelixAdmin;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixManager;
+import org.apache.helix.HelixProperty;
import org.apache.helix.PropertyKey;
import org.apache.helix.model.CurrentState;
import org.apache.helix.model.ExternalView;
@@ -131,7 +132,7 @@ public class ServiceStatus {
* Service status callback that compares ideal state with another Helix state. Used to share most of the logic between
* the ideal state/external view comparison and ideal state/current state comparison.
*/
- private static abstract class IdealStateMatchServiceStatusCallback<T> implements ServiceStatusCallback {
+ private static abstract class IdealStateMatchServiceStatusCallback<T extends HelixProperty> implements ServiceStatusCallback {
protected final String _clusterName;
protected final String _instanceName;
protected final HelixAdmin _helixAdmin;
@@ -317,8 +318,11 @@ public class ServiceStatus {
if ("ERROR".equals(currentStateStatus)) {
LOGGER.error(String.format("Resource: %s, partition: %s is in ERROR state", resourceName, partitionName));
} else {
+ HelixProperty.Stat stat = helixState.getStat();
String description = String
- .format("partition=%s, expected=%s, found=%s", partitionName, idealStateStatus, currentStateStatus);
+ .format("partition=%s, expected=%s, found=%s, creationTime=%d, modifiedTime=%d, version=%d", partitionName,
+ idealStateStatus, currentStateStatus, stat != null ? stat.getCreationTime() : -1,
+ stat != null ? stat.getModifiedTime() : -1, stat != null ? stat.getVersion() : -1);
return new StatusDescriptionPair(Status.STARTING, description);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org