Repository: asterixdb Updated Branches: refs/heads/master aa37321a7 -> 80d20195f
[ASTERIXDB-2070][ING] Prevent start feed without connection - user model changes: no - storage format changes: no - interface changes: no Details: 1. Add connection size check for start feed statement. 2. Remove useless/unassigned variable in RSS feed. Change-Id: Ic6715b3983ee8a0bb042ef5f34f30381c99466da Reviewed-on: https://asterix-gerrit.ics.uci.edu/1963 Sonar-Qube: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Contrib: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Reviewed-by: abdullah alamoudi <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/80d20195 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/80d20195 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/80d20195 Branch: refs/heads/master Commit: 80d20195f57b2eab4a7ead81e10e985b0852cdb3 Parents: aa37321 Author: Xikui Wang <[email protected]> Authored: Mon Aug 28 20:19:12 2017 -0700 Committer: Xikui Wang <[email protected]> Committed: Tue Aug 29 09:41:47 2017 -0700 ---------------------------------------------------------------------- .../java/org/apache/asterix/app/translator/QueryTranslator.java | 3 +++ asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml | 4 ++-- .../java/org/apache/asterix/common/exceptions/ErrorCode.java | 1 + .../asterix-common/src/main/resources/asx_errormsg/en.properties | 3 ++- .../main/java/org/apache/asterix/external/parser/RSSParser.java | 3 +-- 5 files changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/80d20195/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java index e0d56a0..7ed5171 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java @@ -2056,6 +2056,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen metadataProvider.getMetadataTxnContext()); List<FeedConnection> feedConnections = MetadataManager.INSTANCE .getFeedConections(metadataProvider.getMetadataTxnContext(), dataverseName, feedName); + if (feedConnections.isEmpty()) { + throw new CompilationException(ErrorCode.FEED_START_FEED_WITHOUT_CONNECTION, feedName); + } for (FeedConnection feedConnection : feedConnections) { // what if the dataset is in a different dataverse String fqName = feedConnection.getDataverseName() + "." + feedConnection.getDatasetName(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/80d20195/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml index 433ee4c..abbcaaa 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml @@ -282,7 +282,7 @@ <test-case FilePath="feeds"> <compilation-unit name="drop-function-used-by-feed"> <output-dir compare="Text">drop-function-used-by-feed</output-dir> - <expected-error>Function experiments.test_func0@1 is being used. It cannot be dropped.</expected-error> + <expected-error>Function experiments.test_func0@1 is being used. It cannot be dropped</expected-error> </compilation-unit> </test-case> <test-case FilePath="feeds"> @@ -293,7 +293,7 @@ <test-case FilePath="feeds"> <compilation-unit name="drop-dataverse-with-function-used-by-feed"> <output-dir compare="Text">drop-dataverse-with-function-used-by-feed</output-dir> - <expected-error>Function fundv.test_func0@1 is being used. It cannot be dropped.</expected-error> + <expected-error>Function fundv.test_func0@1 is being used. It cannot be dropped</expected-error> </compilation-unit> </test-case> </test-group> http://git-wip-us.apache.org/repos/asf/asterixdb/blob/80d20195/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java index fcfb428..1e32678 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java @@ -233,6 +233,7 @@ public class ErrorCode { public static final int FEED_STOPPED_WHILE_WAITING_FOR_A_NEW_RECORD = 3108; public static final int METADATA_DROP_FUCTION_IN_USE = 3109; public static final int FEED_FAILED_WHILE_GETTING_A_NEW_RECORD = 3110; + public static final int FEED_START_FEED_WITHOUT_CONNECTION = 3111; // Lifecycle management errors public static final int DUPLICATE_PARTITION_ID = 4000; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/80d20195/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties index 5bd5482..fd5dba2 100644 --- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties +++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties @@ -220,8 +220,9 @@ 3106 = %1$s is not registered 3107 = Active Notification Handler is already suspended 3108 = Feed stopped while waiting for a new record -3109 = Function %1$s is being used. It cannot be dropped. +3109 = Function %1$s is being used. It cannot be dropped 3110 = Feed failed while reading a new record +3111 = Feed %1$s is not connected to any dataset # Lifecycle management errors 4000 = Partition id %1$d for node %2$s already in use by node %3$s http://git-wip-us.apache.org/repos/asf/asterixdb/blob/80d20195/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/RSSParser.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/RSSParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/RSSParser.java index b6c2221..e260083 100644 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/RSSParser.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/RSSParser.java @@ -33,7 +33,6 @@ import com.rometools.rome.feed.synd.SyndEntry; public class RSSParser implements IRecordDataParser<SyndEntry> { private long id = 0; - private String idPrefix; private AMutableString[] mutableFields; private String[] tupleFieldValues; private AMutableRecord mutableRecord; @@ -51,7 +50,7 @@ public class RSSParser implements IRecordDataParser<SyndEntry> { @Override public void parse(IRawRecord<? extends SyndEntry> record, DataOutput out) throws HyracksDataException { SyndEntry entry = record.get(); - tupleFieldValues[0] = idPrefix + ":" + id; + tupleFieldValues[0] = String.valueOf(id); tupleFieldValues[1] = entry.getTitle(); tupleFieldValues[2] = entry.getDescription().getValue(); tupleFieldValues[3] = entry.getLink();
