[GitHub] carbondata issue #1745: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user mohammadshahidkhan commented on the issue: https://github.com/apache/carbondata/pull/1745 @jackylk Its not duplicate. I raised intentionally for branch 1.2.0. ---
[GitHub] carbondata issue #1584: [CARBONDATA-1827][WIP] Added S3 Implementation
Github user jackylk commented on the issue: https://github.com/apache/carbondata/pull/1584 style check error for newly added examples ---
[GitHub] carbondata issue #1584: [CARBONDATA-1827][WIP] Added S3 Implementation
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1584 Build Failed with Spark 2.2.0, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/1237/ ---
[GitHub] carbondata issue #1584: [CARBONDATA-1827][WIP] Added S3 Implementation
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1584 Build Failed with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/2461/ ---
[GitHub] carbondata issue #1584: [CARBONDATA-1827][WIP] Added S3 Implementation
Github user ravipesala commented on the issue: https://github.com/apache/carbondata/pull/1584 SDV Build Fail , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/2640/ ---
[GitHub] carbondata issue #1724: [CARBONDATA-1940][PreAgg] Fixed bug for creation of ...
Github user kumarvishal09 commented on the issue: https://github.com/apache/carbondata/pull/1724 @BJangir Currently we are not supporting filter while creating the aggregation data map. In future we may support. User can add filter column on projection for above use case. ---
[GitHub] carbondata issue #1732: [CARBONDATA-1946] Exception thrown after alter data ...
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1732 Build Failed with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/2460/ ---
[GitHub] carbondata issue #1732: [CARBONDATA-1946] Exception thrown after alter data ...
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1732 Build Failed with Spark 2.2.0, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/1236/ ---
[GitHub] carbondata issue #1732: [CARBONDATA-1946] Exception thrown after alter data ...
Github user ravipesala commented on the issue: https://github.com/apache/carbondata/pull/1732 SDV Build Fail , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/2639/ ---
[GitHub] carbondata issue #1724: [CARBONDATA-1940][PreAgg] Fixed bug for creation of ...
Github user BJangir commented on the issue: https://github.com/apache/carbondata/pull/1724 @geetikagupta16 , please handle filter columns also . for example . select country ,sum( case when year=2010 salary else 0 end) from tbl where year=2010 or year=2011 group by country. in this case aggregate datamap should have country,year ,salary columns . ---
[GitHub] carbondata issue #1744: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1744 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/2459/ ---
[GitHub] carbondata issue #1745: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1745 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/2458/ ---
[GitHub] carbondata issue #1744: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1744 Build Success with Spark 2.2.0, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/1235/ ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119641 --- Diff: examples/spark2/src/main/scala/org/apache/carbondata/examples/S3Example.scala --- @@ -0,0 +1,100 @@ +/* + * 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.examples + +import java.io.File + +import org.apache.hadoop.fs.s3a.Constants.{ACCESS_KEY, SECRET_KEY} +import org.apache.spark.sql.SparkSession + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties + +object S3Example { + + def main(args: Array[String]) { + + +val rootPath = new File(this.getClass.getResource("/").getPath ++ "../../../..").getCanonicalPath +val storeLocation = s"$rootPath/examples/spark2/target/store" +val warehouse = s"$rootPath/examples/spark2/target/warehouse" +val metastoredb = s"$rootPath/examples/spark2/target" +val path = s"$rootPath/examples/spark2/src/main/resources/data.csv" + + +CarbonProperties.getInstance() + .addProperty(CarbonCommonConstants.CARBON_TIMESTAMP_FORMAT, "/MM/dd HH:mm:ss") + .addProperty(CarbonCommonConstants.CARBON_DATE_FORMAT, "/MM/dd") + .addProperty(CarbonCommonConstants.ENABLE_UNSAFE_COLUMN_PAGE_LOADING, "true") + +import org.apache.spark.sql.CarbonSession._ +val spark = SparkSession + .builder() + .master("local") + .appName("CarbonSessionExample") + .config("spark.sql.warehouse.dir", warehouse) + .config("spark.driver.host", "localhost") + .config(ACCESS_KEY, "*") + .config(SECRET_KEY, "***") + .getOrCreateCarbonSession(storeLocation, warehouse) + +spark.sparkContext.setLogLevel("INFO") +spark.sql("CREATE DATABASE if not exists s3carbondemo LOCATION 's3a:///s3carbondemo'") + +spark.sql( + s""" + | CREATE TABLE if not exists s3carbondemo.carbon_table( + | shortField SHORT, + | intField INT, + | bigintField LONG, + | doubleField DOUBLE, + | stringField STRING, + | timestampField TIMESTAMP, + | decimalField DECIMAL(18,2), + | dateField DATE, + | charField CHAR(5), + | floatField FLOAT, + | complexData ARRAY + | ) + | STORED BY 'carbondata' + | TBLPROPERTIES('SORT_COLUMNS'='', 'DICTIONARY_INCLUDE'='dateField, charField') + """.stripMargin) + +// scalastyle:off +spark.sql( + s""" + | LOAD DATA LOCAL INPATH '$path' --- End diff -- add another load, so that it will become two segments ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119613 --- Diff: examples/spark2/src/main/scala/org/apache/carbondata/examples/S3Example.scala --- @@ -0,0 +1,100 @@ +/* + * 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.examples + +import java.io.File + +import org.apache.hadoop.fs.s3a.Constants.{ACCESS_KEY, SECRET_KEY} +import org.apache.spark.sql.SparkSession + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties + +object S3Example { + + def main(args: Array[String]) { + + +val rootPath = new File(this.getClass.getResource("/").getPath ++ "../../../..").getCanonicalPath +val storeLocation = s"$rootPath/examples/spark2/target/store" +val warehouse = s"$rootPath/examples/spark2/target/warehouse" +val metastoredb = s"$rootPath/examples/spark2/target" +val path = s"$rootPath/examples/spark2/src/main/resources/data.csv" + + +CarbonProperties.getInstance() + .addProperty(CarbonCommonConstants.CARBON_TIMESTAMP_FORMAT, "/MM/dd HH:mm:ss") + .addProperty(CarbonCommonConstants.CARBON_DATE_FORMAT, "/MM/dd") + .addProperty(CarbonCommonConstants.ENABLE_UNSAFE_COLUMN_PAGE_LOADING, "true") + +import org.apache.spark.sql.CarbonSession._ +val spark = SparkSession + .builder() + .master("local") + .appName("CarbonSessionExample") + .config("spark.sql.warehouse.dir", warehouse) + .config("spark.driver.host", "localhost") + .config(ACCESS_KEY, "*") + .config(SECRET_KEY, "***") + .getOrCreateCarbonSession(storeLocation, warehouse) + +spark.sparkContext.setLogLevel("INFO") +spark.sql("CREATE DATABASE if not exists s3carbondemo LOCATION 's3a:///s3carbondemo'") --- End diff -- add a DROP TABLE before creating it ---
[GitHub] carbondata issue #1745: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user ravipesala commented on the issue: https://github.com/apache/carbondata/pull/1745 SDV Build Fail , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/2638/ ---
[GitHub] carbondata issue #1745: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user jackylk commented on the issue: https://github.com/apache/carbondata/pull/1745 Is PR this duplicated? ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119442 --- Diff: core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java --- @@ -171,6 +171,7 @@ public static boolean createNewFile( final FsPermission permission) throws IOException { return getCarbonFile(filePath).createNewFile(filePath, fileType, doAs, permission); } + --- End diff -- How about append support? please add subtasks to CARBONDATA-1827: 1. support S3 table with dictionary 2. support compaction on S3 table 3. support data update/delete on S3 table 4. support alter table add columns/drop columns on S3 table ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119405 --- Diff: examples/spark2/src/main/scala/org/apache/carbondata/examples/FederationExample.scala --- @@ -0,0 +1,146 @@ +/* + * 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.examples + +import java.io.File + +import org.apache.hadoop.fs.s3a.Constants.{ACCESS_KEY, SECRET_KEY} +import org.apache.spark.sql.SparkSession + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties + +object FederationExample { --- End diff -- What is this example? can you add comment. Add for next example also ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119382 --- Diff: examples/spark2/src/main/scala/org/apache/carbondata/examples/S3Example.scala --- @@ -0,0 +1,100 @@ +/* + * 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.examples + +import java.io.File + +import org.apache.hadoop.fs.s3a.Constants.{ACCESS_KEY, SECRET_KEY} +import org.apache.spark.sql.SparkSession + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties + +object S3Example { + + def main(args: Array[String]) { + + +val rootPath = new File(this.getClass.getResource("/").getPath ++ "../../../..").getCanonicalPath +val storeLocation = s"$rootPath/examples/spark2/target/store" +val warehouse = s"$rootPath/examples/spark2/target/warehouse" +val metastoredb = s"$rootPath/examples/spark2/target" +val path = s"$rootPath/examples/spark2/src/main/resources/data.csv" + + +CarbonProperties.getInstance() + .addProperty(CarbonCommonConstants.CARBON_TIMESTAMP_FORMAT, "/MM/dd HH:mm:ss") + .addProperty(CarbonCommonConstants.CARBON_DATE_FORMAT, "/MM/dd") + .addProperty(CarbonCommonConstants.ENABLE_UNSAFE_COLUMN_PAGE_LOADING, "true") + +import org.apache.spark.sql.CarbonSession._ +val spark = SparkSession + .builder() + .master("local") + .appName("CarbonSessionExample") + .config("spark.sql.warehouse.dir", warehouse) + .config("spark.driver.host", "localhost") + .config(ACCESS_KEY, "*") --- End diff -- it is better to get all S3 related config from command line argument (`args`), and print the usage of this class, like ``` Usage: java CarbonS3Example " + " ``` ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119359 --- Diff: examples/spark2/src/main/scala/org/apache/carbondata/examples/S3Example.scala --- @@ -0,0 +1,100 @@ +/* + * 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.examples + +import java.io.File + +import org.apache.hadoop.fs.s3a.Constants.{ACCESS_KEY, SECRET_KEY} +import org.apache.spark.sql.SparkSession + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties + +object S3Example { + + def main(args: Array[String]) { + + +val rootPath = new File(this.getClass.getResource("/").getPath ++ "../../../..").getCanonicalPath +val storeLocation = s"$rootPath/examples/spark2/target/store" +val warehouse = s"$rootPath/examples/spark2/target/warehouse" +val metastoredb = s"$rootPath/examples/spark2/target" +val path = s"$rootPath/examples/spark2/src/main/resources/data.csv" + + --- End diff -- remove empty line ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119354 --- Diff: examples/spark2/src/main/scala/org/apache/carbondata/examples/S3Example.scala --- @@ -0,0 +1,100 @@ +/* + * 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.examples + +import java.io.File + +import org.apache.hadoop.fs.s3a.Constants.{ACCESS_KEY, SECRET_KEY} +import org.apache.spark.sql.SparkSession + +import org.apache.carbondata.core.constants.CarbonCommonConstants +import org.apache.carbondata.core.util.CarbonProperties + +object S3Example { + + def main(args: Array[String]) { + + --- End diff -- remove empty line ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119305 --- Diff: core/pom.xml --- @@ -94,6 +99,15 @@ + + --- End diff -- remove empty line ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119284 --- Diff: core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java --- @@ -220,7 +221,16 @@ public static boolean mkdirs(String filePath, FileType fileType) throws IOExcept */ public static DataOutputStream getDataOutputStreamUsingAppend(String path, FileType fileType) throws IOException { -return getCarbonFile(path).getDataOutputStreamUsingAppend(path, fileType); +if(FileType.S3 == fileType) { --- End diff -- add space after `if` ---
[GitHub] carbondata issue #1745: [CARBONDATA-1955] Delta DataType calculation is inco...
Github user CarbonDataQA commented on the issue: https://github.com/apache/carbondata/pull/1745 Build Failed with Spark 2.2.0, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/1234/ ---
[GitHub] carbondata pull request #1584: [CARBONDATA-1827][WIP] Added S3 Implementatio...
Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1584#discussion_r159119279 --- Diff: core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java --- @@ -1420,6 +1425,16 @@ public static final String CARBON_UPDATE_SYNC_FOLDER_DEFAULT = "/tmp/carbondata"; + /** + * S3 Constants + */ + + public static final String S3_IMPLEMENTATION = "fs.s3a.impl"; --- End diff -- How about S3N support? I think this can be a property set by user, user can choose S3 implementation class. The default class can be S3A ---
[GitHub] carbondata pull request #1745: [CARBONDATA-1955] Delta DataType calculation ...
GitHub user mohammadshahidkhan opened a pull request: https://github.com/apache/carbondata/pull/1745 [CARBONDATA-1955] Delta DataType calculation is incorrect for long type **Problem**: In case of Long type, the delta data type is always choosing the Long type. But it should choose the datatype based on diff (max-min) of max and min values. **Solution**: Corrected to choose the delta data type based on max and min values. - [X] Any interfaces changed? NA - [X] Any backward compatibility impacted? **This issue must be synced to 1.2.0 branch** - [X] Document update required? - [X] Testing done Please provide details on - Whether new unit test cases have been added or why no new tests are required? - How it is tested? Please attach test report. - Is it a performance related change? Please attach the performance test report. - Any additional information to help reviewers in testing this change. Added unit test cases to test codec selection - [X] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. NA You can merge this pull request into a Git repository by running: $ git pull https://github.com/mohammadshahidkhan/incubator-carbondata codecselectioncorrection_forlongtype_1.2.0 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/carbondata/pull/1745.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1745 commit 1d9800c429afe28a4773183bdc3068fed63802ce Author: mohammadshahidkhanDate: 2017-12-30T00:52:48Z [CARBONDATA-1955] Delta DataType calculation is incorrect for long type ---
[GitHub] carbondata pull request #1744: [CARBONDATA-1955] Delta DataType calculation ...
GitHub user mohammadshahidkhan opened a pull request: https://github.com/apache/carbondata/pull/1744 [CARBONDATA-1955] Delta DataType calculation is incorrect for long type **Problem**: In case of Long type, the delta data type is always choosing the Long type. But it should choose the datatype based on diff (max-min) of max and min values. **Solution**: Corrected to choose the delta data type based on max and min values. - [X] Any interfaces changed? NA - [X] Any backward compatibility impacted? **This issue must be synced to 1.2.0 branch** - [X] Document update required? - [X] Testing done Please provide details on - Whether new unit test cases have been added or why no new tests are required? - How it is tested? Please attach test report. - Is it a performance related change? Please attach the performance test report. - Any additional information to help reviewers in testing this change. Added unit test cases to test codec selection - [X] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. NA You can merge this pull request into a Git repository by running: $ git pull https://github.com/mohammadshahidkhan/incubator-carbondata compatibility Alternatively you can review and apply these changes as the patch at: https://github.com/apache/carbondata/pull/1744.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1744 commit 296e52c5d022df347a607decc86aa1eacfe8f30b Author: mohammadshahidkhanDate: 2017-12-28T12:42:37Z [CARBONDATA-1955] Delta DataType calculation is incorrect for long type ---
[jira] [Updated] (CARBONDATA-1955) Delta DataType calculation is incorrect for long type
[ https://issues.apache.org/jira/browse/CARBONDATA-1955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mohammad Shahid Khan updated CARBONDATA-1955: - Affects Version/s: 1.2.0 > Delta DataType calculation is incorrect for long type > - > > Key: CARBONDATA-1955 > URL: https://issues.apache.org/jira/browse/CARBONDATA-1955 > Project: CarbonData > Issue Type: Bug >Affects Versions: 1.2.0, 1.3.0 >Reporter: Mohammad Shahid Khan >Assignee: Mohammad Shahid Khan > -- This message was sent by Atlassian JIRA (v6.4.14#64029)