This is an automated email from the ASF dual-hosted git repository. east pushed a commit to branch cluster_show_sg in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit e3f47443356fc884f82143dc2f0fb213931c1bac Author: mdf369 <[email protected]> AuthorDate: Thu Mar 28 21:48:15 2019 +0800 implement readIndex --- .../rpc/processor/QueryMetadataAsyncProcessor.java | 28 ++++++++++++-- docs/Documentation/OtherMaterial-Examples.md | 10 ++--- java-google-style.xml | 44 +++++++++++----------- 3 files changed, 52 insertions(+), 30 deletions(-) diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/rpc/processor/QueryMetadataAsyncProcessor.java b/cluster/src/main/java/org/apache/iotdb/cluster/rpc/processor/QueryMetadataAsyncProcessor.java index dc7f877..ac27f69 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/rpc/processor/QueryMetadataAsyncProcessor.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/rpc/processor/QueryMetadataAsyncProcessor.java @@ -22,9 +22,13 @@ import com.alipay.remoting.AsyncContext; import com.alipay.remoting.BizContext; import com.alipay.remoting.exception.CodecException; import com.alipay.remoting.serialization.SerializerManager; +import com.alipay.sofa.jraft.Status; +import com.alipay.sofa.jraft.closure.ReadIndexClosure; import com.alipay.sofa.jraft.entity.Task; +import com.alipay.sofa.jraft.util.Bits; import java.nio.ByteBuffer; import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; import org.apache.iotdb.cluster.entity.Server; import org.apache.iotdb.cluster.entity.raft.MetadataRaftHolder; import org.apache.iotdb.cluster.entity.raft.RaftService; @@ -39,6 +43,7 @@ public class QueryMetadataAsyncProcessor extends BasicAsyncUserProcessor<QueryMe private static final Logger LOGGER = LoggerFactory.getLogger(QueryMetadataAsyncProcessor.class); private Server server; + private final AtomicInteger requestId = new AtomicInteger(0); public QueryMetadataAsyncProcessor(Server server) { this.server = server; @@ -58,8 +63,9 @@ public class QueryMetadataAsyncProcessor extends BasicAsyncUserProcessor<QueryMe task.setDone(status -> { if (!status.isOk()) { asyncContext.sendResponse(new QueryMetadataResponse(false, false)); + } else { + asyncContext.sendResponse(new QueryMetadataResponse(false, true, storageGroupSet)); } - asyncContext.sendResponse(new QueryMetadataResponse(false, true, storageGroupSet)); }); task.setData(ByteBuffer .wrap(SerializerManager.getSerializer(SerializerManager.Hessian2) @@ -70,8 +76,24 @@ public class QueryMetadataAsyncProcessor extends BasicAsyncUserProcessor<QueryMe asyncContext.sendResponse(new QueryMetadataResponse(false, false)); } } else { - QueryMetadataResponse response = new QueryMetadataResponse(true, false); - asyncContext.sendResponse(response); + // TODO readIndex + final byte[] reqContext = new byte[4]; + Bits.putInt(reqContext, 0, requestId.incrementAndGet()); + ((RaftService) metadataHolder.getService()).getNode().readIndex(reqContext, new ReadIndexClosure() { + + @Override + public void run(Status status, long index, byte[] reqCtx) { + if (status.isOk()) { + try { + asyncContext.sendResponse(new QueryMetadataResponse(false, true, metadataHolder.getFsm().getAllStorageGroups()))); + } catch (final PathErrorException e) { + asyncContext.sendResponse(new QueryMetadataResponse(false, false)); + } + } else { + asyncContext.sendResponse(new QueryMetadataResponse(false, false)); + } + } + }); } } else { //TODO deal with query time series diff --git a/docs/Documentation/OtherMaterial-Examples.md b/docs/Documentation/OtherMaterial-Examples.md index c56b650..c416ea2 100644 --- a/docs/Documentation/OtherMaterial-Examples.md +++ b/docs/Documentation/OtherMaterial-Examples.md @@ -62,14 +62,14 @@ public class IotdbHelloWorld { boolean hasResultSet = statement.execute(sql); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); if (hasResultSet) { - ResultSet res = statement.getResultSet(); + ResultSet metadataSet = statement.getResultSet(); System.out.println(" Time" + "|" + path); - while (res.next()) { - long time = Long.parseLong(res.getString("Time")); + while (metadataSet.next()) { + long time = Long.parseLong(metadataSet.getString("Time")); String dateTime = dateFormat.format(new Date(time)); - System.out.println(dateTime + " | " + res.getString(path)); + System.out.println(dateTime + " | " + metadataSet.getString(path)); } - res.close(); + metadataSet.close(); } } finally { diff --git a/java-google-style.xml b/java-google-style.xml index 0daaf72..1722ac2 100644 --- a/java-google-style.xml +++ b/java-google-style.xml @@ -270,7 +270,7 @@ <AND> <NAME>.*:id</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -304,7 +304,7 @@ <AND> <NAME>.*:.*Style</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> <order>BY_NAME</order> @@ -316,7 +316,7 @@ <AND> <NAME>.*:layout_width</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -327,7 +327,7 @@ <AND> <NAME>.*:layout_height</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -338,7 +338,7 @@ <AND> <NAME>.*:layout_weight</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -349,7 +349,7 @@ <AND> <NAME>.*:layout_margin</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -360,7 +360,7 @@ <AND> <NAME>.*:layout_marginTop</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -371,7 +371,7 @@ <AND> <NAME>.*:layout_marginBottom</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -382,7 +382,7 @@ <AND> <NAME>.*:layout_marginStart</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -393,7 +393,7 @@ <AND> <NAME>.*:layout_marginEnd</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -404,7 +404,7 @@ <AND> <NAME>.*:layout_marginLeft</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -415,7 +415,7 @@ <AND> <NAME>.*:layout_marginRight</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -426,7 +426,7 @@ <AND> <NAME>.*:layout_.*</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> <order>BY_NAME</order> @@ -438,7 +438,7 @@ <AND> <NAME>.*:padding</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -449,7 +449,7 @@ <AND> <NAME>.*:paddingTop</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -460,7 +460,7 @@ <AND> <NAME>.*:paddingBottom</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -471,7 +471,7 @@ <AND> <NAME>.*:paddingStart</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -482,7 +482,7 @@ <AND> <NAME>.*:paddingEnd</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -493,7 +493,7 @@ <AND> <NAME>.*:paddingLeft</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -504,7 +504,7 @@ <AND> <NAME>.*:paddingRight</NAME> <XML_ATTRIBUTE/> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> </rule> @@ -514,7 +514,7 @@ <match> <AND> <NAME>.*</NAME> - <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet/android</XML_NAMESPACE> </AND> </match> <order>BY_NAME</order> @@ -525,7 +525,7 @@ <match> <AND> <NAME>.*</NAME> - <XML_NAMESPACE>http://schemas.android.com/apk/res-auto</XML_NAMESPACE> + <XML_NAMESPACE>http://schemas.android.com/apk/metadataSet-auto</XML_NAMESPACE> </AND> </match> <order>BY_NAME</order>
