From 4a70571974bcc1e4b4ea90d1b9c8fd1b945ffa8c Mon Sep 17 00:00:00 2001 From: xubo245 <601450868@qq.com> Date: Fri, 22 Dec 2017 17:59:39 +0800 Subject: [PATCH 1/2] [CARBONDATA-1932] Add version for CarbonData Add version for CarbonData --- .../core/constants/CarbonCommonConstants.java | 11 +++ .../spark/testsuite/version/VersionTest.scala | 75 +++++++++++++++++++ .../org/apache/spark/sql/CarbonSession.scala | 7 ++ 3 files changed, 93 insertions(+) create mode 100644 integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala diff --git a/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java b/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java index 71ab66807e4..c0fc08ed8a8 100644 --- a/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java +++ b/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java @@ -1031,6 +1031,12 @@ public final class CarbonCommonConstants { @CarbonProperty public static final String CARBON_DATA_FILE_VERSION = "carbon.data.file.version"; + /** + * carbondata version property + */ + @CarbonProperty + public static final String CARBONDATA_VERSION = "carbon.version"; + /** * Index file name will end with this extension when update. */ @@ -1108,6 +1114,11 @@ public final class CarbonCommonConstants { */ public static final String CARBON_DATA_FILE_DEFAULT_VERSION = "V3"; + /** + * current CarbonData version + */ + public static final String CARBONDATA_DEFAULT_VERSION = "1.3.0-SNAPSHOT"; + /** * data file version header */ diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala new file mode 100644 index 00000000000..e714c5f072c --- /dev/null +++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.carbondata.spark.testsuite.version + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties +import org.apache.spark.sql.{CarbonSession, SparkSession} +import org.apache.spark.sql.test.util.QueryTest +import org.scalatest.BeforeAndAfterAll + +/** + * Created by root on 12/22/17. + */ +class VersionTest extends QueryTest with BeforeAndAfterAll { + test("CarbonData version test: null") { + val version = CarbonProperties.getInstance + .getProperty(CarbonCommonConstants.CARBONDATA_VERSION) + assert(null == version) + } + + test("CarbonData version test: add and then get") { + CarbonProperties.getInstance + .addProperty(CarbonCommonConstants.CARBONDATA_VERSION, + CarbonCommonConstants.CARBONDATA_DEFAULT_VERSION) + val version = CarbonProperties.getInstance + .getProperty(CarbonCommonConstants.CARBONDATA_VERSION) + assert(CarbonCommonConstants.CARBONDATA_DEFAULT_VERSION.equals(version)) + } + + test("data file version test") { + val version = CarbonProperties.getInstance + .getProperty(CarbonCommonConstants.CARBON_DATA_FILE_VERSION) + assert("V3".equals(version)) + } + + test("new carbonsession test") { + try { + VersionTest.main(null) + assert(true) + } catch { + case _: Exception => assert(false) + } + } +} + +object VersionTest { + def main(args: Array[String]): Unit = { + import org.apache.spark.sql.CarbonSession._ + val carbonSession = SparkSession + .builder() + .master("local") + .enableHiveSupport() + .config("spark.driver.host", "127.0.0.1") + .getOrCreateCarbonSession() + carbonSession.sparkContext.setLogLevel("warn") + val version = carbonSession.asInstanceOf[CarbonSession].carbonVersion + assert(version.equals(CarbonCommonConstants.CARBONDATA_DEFAULT_VERSION)) + carbonSession.close() + } +} \ No newline at end of file diff --git a/integration/spark2/src/main/scala/org/apache/spark/sql/CarbonSession.scala b/integration/spark2/src/main/scala/org/apache/spark/sql/CarbonSession.scala index c9b134e4545..b922ea72a61 100644 --- a/integration/spark2/src/main/scala/org/apache/spark/sql/CarbonSession.scala +++ b/integration/spark2/src/main/scala/org/apache/spark/sql/CarbonSession.scala @@ -45,6 +45,13 @@ import org.apache.carbondata.spark.util.CommonUtil class CarbonSession(@transient val sc: SparkContext, @transient private val existingSharedState: Option[SharedState]) extends SparkSession(sc) { + /** + * The version of carbondata on which this application is running. + * + * @since 1.3.0 + */ + val carbonVersion = CarbonCommonConstants.CARBONDATA_DEFAULT_VERSION + def this(sc: SparkContext) { this(sc, None) } From dbb3318aabd64f2090243af6fa87f96ce6c8469c Mon Sep 17 00:00:00 2001 From: xubo245 <601450868@qq.com> Date: Sat, 23 Dec 2017 09:49:41 +0800 Subject: [PATCH 2/2] remove some test case and change the comment --- .../spark/testsuite/version/VersionTest.scala | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala index e714c5f072c..26c822be702 100644 --- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala +++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/version/VersionTest.scala @@ -24,7 +24,7 @@ import org.apache.spark.sql.test.util.QueryTest import org.scalatest.BeforeAndAfterAll /** - * Created by root on 12/22/17. + * Test CarbonData version */ class VersionTest extends QueryTest with BeforeAndAfterAll { test("CarbonData version test: null") { @@ -45,17 +45,9 @@ class VersionTest extends QueryTest with BeforeAndAfterAll { test("data file version test") { val version = CarbonProperties.getInstance .getProperty(CarbonCommonConstants.CARBON_DATA_FILE_VERSION) - assert("V3".equals(version)) + assert(version.contains("V")) } - test("new carbonsession test") { - try { - VersionTest.main(null) - assert(true) - } catch { - case _: Exception => assert(false) - } - } } object VersionTest {