You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "abdullah alamoudi (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/06/01 08:23:35 UTC
Change in asterixdb[master]: [NO ISSUE][ING] Allow Readers to add their own stats
abdullah alamoudi has submitted this change and it was merged.
Change subject: [NO ISSUE][ING] Allow Readers to add their own stats
......................................................................
[NO ISSUE][ING] Allow Readers to add their own stats
- user model changes: no
- storage format changes: no
- interface changes: yes
- Add IRecordReader.getStats()
Details:
- Allow record reader to contribute their own stats.
Change-Id: Ib064bd97b33f2d9da330bac3a49bd4c6831faaca
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2642
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mb...@apache.org>
---
M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordReader.java
M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
3 files changed, 21 insertions(+), 3 deletions(-)
Approvals:
Anon. E. Moose #1000171:
Jenkins: Verified; No violations found; ; Verified
Michael Blow: Looks good to me, approved
diff --git a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
index 1df9020..2f30df4 100644
--- a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
+++ b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
@@ -63,8 +63,10 @@
@Override
public final void stop() throws HyracksDataException, InterruptedException {
- abort();
synchronized (this) {
+ if (!done) {
+ abort();
+ }
while (!done) {
wait();
}
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordReader.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordReader.java
index 08ffe18..9033814 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordReader.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordReader.java
@@ -77,4 +77,11 @@
public default IFeedMarker getProgressReporter() {
return null;
}
+
+ /**
+ * @return JSON String containing ingestion stats
+ */
+ default String getStats() {
+ return null;
+ }
}
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
index 164ff68..f392139 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
@@ -40,6 +40,7 @@
public class FeedRecordDataFlowController<T> extends AbstractFeedDataFlowController {
public static final String INCOMING_RECORDS_COUNT_FIELD_NAME = "incoming-records-count";
public static final String FAILED_AT_PARSER_RECORDS_COUNT_FIELD_NAME = "failed-at-parser-records-count";
+ public static final String READER_STATS_FIELD_NAME = "reader-stats";
public enum State {
CREATED,
@@ -257,7 +258,15 @@
@Override
public String getStats() {
- return "{\"" + INCOMING_RECORDS_COUNT_FIELD_NAME + "\": " + incomingRecordsCount + ", \""
- + FAILED_AT_PARSER_RECORDS_COUNT_FIELD_NAME + "\": " + failedRecordsCount + "}";
+ String readerStats = recordReader.getStats();
+ StringBuilder str = new StringBuilder();
+ str.append("{");
+ if (readerStats != null) {
+ str.append("\"").append(READER_STATS_FIELD_NAME).append("\":").append(readerStats).append(", ");
+ }
+ str.append("\"").append(INCOMING_RECORDS_COUNT_FIELD_NAME).append("\": ").append(incomingRecordsCount)
+ .append(", \"").append(FAILED_AT_PARSER_RECORDS_COUNT_FIELD_NAME).append("\": ")
+ .append(failedRecordsCount).append("}");
+ return str.toString();
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/2642
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib064bd97b33f2d9da330bac3a49bd4c6831faaca
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi <ba...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>