[jira] [Updated] (FLINK-12889) Job keeps in FAILING state
[ https://issues.apache.org/jira/browse/FLINK-12889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Fan Xinpu updated FLINK-12889: -- Priority: Blocker (was: Major) > Job keeps in FAILING state > -- > > Key: FLINK-12889 > URL: https://issues.apache.org/jira/browse/FLINK-12889 > Project: Flink > Issue Type: Bug > Components: API / DataStream >Affects Versions: 1.7.2 >Reporter: Fan Xinpu >Priority: Blocker > Attachments: 20190618104945417.jpg, jobmanager.log.2019-06-16.0, > taskmanager.log > > > There is a topology of 3 operator, such as, source, parser, and persist. > Occasionally, 5 subtasks of the source encounters exception and turns to > failed, at the same time, one subtask of the parser runs into exception and > turns to failed too. The jobmaster gets a message of the parser's failed. The > jobmaster then try to cancel all the subtask, most of the subtasks of the > three operator turns to canceled except the 5 subtasks of the source, because > the state of the 5 ones is already FAILED before jobmaster try to cancel it. > Then the jobmaster can not reach a final state but keeps in Failing state > meanwhile the subtask of the source kees in canceling state. > > The job run on a flink 1.7 cluster on yarn, and there is only one tm with 10 > slots. > > The attached files contains a jm log , tm log and the ui picture. > > The exception timestamp is about 2019-06-16 13:42:28. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (FLINK-12896) modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server
[ https://issues.apache.org/jira/browse/FLINK-12896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] xymaqingxiang updated FLINK-12896: -- Attachment: (was: image-2019-06-19-15-33-12-243.png) > modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server > - > > Key: FLINK-12896 > URL: https://issues.apache.org/jira/browse/FLINK-12896 > Project: Flink > Issue Type: Bug >Reporter: xymaqingxiang >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-19-15-32-15-994.png, > image-2019-06-19-15-40-08-481.png, image-2019-06-19-15-41-48-051.png > > Time Spent: 10m > Remaining Estimate: 0h > > There are 2 bugs, as follows: > 1. could not found the checkpoint details for subtasks. > !image-2019-06-19-15-32-15-994.png! > 2. The jobs directory has an exception: job directory, the ArchivedJson we > get in FsJobArchivist is wrong. > !image-2019-06-19-15-40-08-481.png! > !image-2019-06-19-15-41-48-051.png! > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (FLINK-12896) modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server
[ https://issues.apache.org/jira/browse/FLINK-12896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] xymaqingxiang updated FLINK-12896: -- Description: There are 2 bugs, as follows: 1. could not found the checkpoint details for subtasks. !image-2019-06-19-15-32-15-994.png! 2. The jobs directory has an exception: job directory, the ArchivedJson we get in FsJobArchivist is wrong. !image-2019-06-19-15-40-08-481.png! !image-2019-06-19-15-41-48-051.png! was: There are three bugs, as follows: 1. could not found the metrics for vertices. !image-2019-06-19-15-33-12-243.png! 2. could not found the checkpoint details for subtasks. !image-2019-06-19-15-32-15-994.png! 3. The jobs directory has an exception: job directory, the ArchivedJson we get in FsJobArchivist is wrong. !image-2019-06-19-15-40-08-481.png! !image-2019-06-19-15-41-48-051.png! > modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server > - > > Key: FLINK-12896 > URL: https://issues.apache.org/jira/browse/FLINK-12896 > Project: Flink > Issue Type: Bug >Reporter: xymaqingxiang >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-19-15-32-15-994.png, > image-2019-06-19-15-40-08-481.png, image-2019-06-19-15-41-48-051.png > > Time Spent: 10m > Remaining Estimate: 0h > > There are 2 bugs, as follows: > 1. could not found the checkpoint details for subtasks. > !image-2019-06-19-15-32-15-994.png! > 2. The jobs directory has an exception: job directory, the ArchivedJson we > get in FsJobArchivist is wrong. > !image-2019-06-19-15-40-08-481.png! > !image-2019-06-19-15-41-48-051.png! > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (FLINK-12896) modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server
[ https://issues.apache.org/jira/browse/FLINK-12896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] xymaqingxiang updated FLINK-12896: -- Summary: modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server (was: Missing some information in History Server) > modify :jobId key in TaskCheckpointStatisticDetailsHandler for History Server > - > > Key: FLINK-12896 > URL: https://issues.apache.org/jira/browse/FLINK-12896 > Project: Flink > Issue Type: Bug >Reporter: xymaqingxiang >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-19-15-32-15-994.png, > image-2019-06-19-15-33-12-243.png, image-2019-06-19-15-40-08-481.png, > image-2019-06-19-15-41-48-051.png > > Time Spent: 10m > Remaining Estimate: 0h > > There are three bugs, as follows: > 1. could not found the metrics for vertices. > !image-2019-06-19-15-33-12-243.png! > 2. could not found the checkpoint details for subtasks. > !image-2019-06-19-15-32-15-994.png! > 3. The jobs directory has an exception: job directory, the ArchivedJson we > get in FsJobArchivist is wrong. > !image-2019-06-19-15-40-08-481.png! > !image-2019-06-19-15-41-48-051.png! > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] wuchong commented on a change in pull request #8695: [FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and OverwritableT
wuchong commented on a change in pull request #8695: [FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and OverwritableTableSink URL: https://github.com/apache/flink/pull/8695#discussion_r295666375 ## File path: flink-table/flink-table-common/src/main/java/org/apache/flink/table/sinks/PartitionableTableSink.java ## @@ -0,0 +1,71 @@ +/* + * 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.flink.table.sinks; + +import java.util.List; +import java.util.Map; + +/** + * An abstract class with trait about partitionable table sink. This is mainly used for + * static partitions. For sql statement: + * + * + * INSERT INTO A PARTITION(a='ab', b='cd') select c, d from B + * + * + * We Assume the A has partition columns as , ,. + * The columns and are called static partition columns, while c is called + * dynamic partition column. + * + * Note: Current class implementation don't support partition pruning which means constant + * partition columns will still be kept in result row. + */ +public interface PartitionableTableSink { + + /** +* Get the partition keys of the table. This should be an empty set if the table is not partitioned. +* +* @return partition keys of the table +*/ + List getPartitionKeys(); + + /** +* Sets the static partitions into the {@link TableSink}. +* @param partitions mapping from static partition column names to string literal values. +* String literals will be quoted using {@code '}, for example, Review comment: This is a mistake. I think the key-value meaning should align with `CatalogPartitionSpec`. If I understand correctly, all the values are encoded as string (i.e. encoded using `String.valueOf(...)`). For example, there is a static partition `f0=1024, f1="foo", f2="bar"`. `f0` is an integer type, `f1` and `f2` are string types. They will all be encoded as strings: "1024", "foo", "bar". And will be decoded to original type literals based on the field types. Do I understand correctly? @bowenli86 I will update this to the javadoc. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] aloyszhang commented on issue #8737: [FLINK-12848][core] Consider fieldNames in RowTypeInfo#equals()
aloyszhang commented on issue #8737: [FLINK-12848][core] Consider fieldNames in RowTypeInfo#equals() URL: https://github.com/apache/flink/pull/8737#issuecomment-503900965 @vim345 Adding the fieldNames in equals method of RowTypeInfo will make test in ExternalCatalogInsertTest failed. So, we should not fix this problem this way. BTW , flink-1.9 has no problem described in [FLINK-12834](https://issues.apache.org/jira/browse/FLINK-12848). I think this problem has been fixed in 1.9. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on issue #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on issue #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#issuecomment-503891781 > Hi, @synckey , thanks for great help, all comments have been updated. Thank you~. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] yuezhuangshi commented on issue #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on issue #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#issuecomment-503891361 Hi, @synckey , thanks for great help, all comments have been updated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295656992 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; Review comment: OK. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295656424 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -219,15 +215,15 @@ configurations { // declare the dependencies for your production and test code dependencies { // -- -// Compile-time dependencies that should NOT be part of the -// shadow jar and are provided in the lib folder of Flink +// 编译时依赖不应该包含在 shadow jar 中, +// 这些依赖会在 Flink 的 lib 目录中提供。 // -- compile "org.apache.flink:flink-java:${flinkVersion}" compile "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}" // -- -// Dependencies that should be part of the shadow jar, e.g. -// connectors. These must be in the flinkShadowJar configuration! +// 应该包含在 shadow jar 中的依赖,例如:连接器。 +// 这些必须在 flinkShadowJar 的配置中! Review comment: Couldn't agree more. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295656203 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -74,16 +74,17 @@ Use one of the following commands to __create a project__: {% unless site.is_stable %} -Note: For Maven 3.0 or higher, it is no longer possible to specify the repository (-DarchetypeCatalog) via the command line. If you wish to use the snapshot repository, you need to add a repository entry to your settings.xml. For details about this change, please refer to http://maven.apache.org/archetype/maven-archetype-plugin/archetype-repository.html";>Maven official document +注意:对于 Maven 3.0 及更高版本,不再支持通过命令行指定仓库(-DarchetypeCatalog)。 Review comment: ok This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295656113 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -219,15 +215,15 @@ configurations { // declare the dependencies for your production and test code dependencies { // -- -// Compile-time dependencies that should NOT be part of the -// shadow jar and are provided in the lib folder of Flink +// 编译时依赖不应该包含在 shadow jar 中, +// 这些依赖会在 Flink 的 lib 目录中提供。 // -- compile "org.apache.flink:flink-java:${flinkVersion}" compile "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}" // -- -// Dependencies that should be part of the shadow jar, e.g. -// connectors. These must be in the flinkShadowJar configuration! +// 应该包含在 shadow jar 中的依赖,例如:连接器。 +// 这些必须在 flinkShadowJar 的配置中! Review comment: Maybe `它们` is better in chinese, do you agree? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295646328 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -219,15 +215,15 @@ configurations { // declare the dependencies for your production and test code dependencies { // -- -// Compile-time dependencies that should NOT be part of the -// shadow jar and are provided in the lib folder of Flink +// 编译时依赖不应该包含在 shadow jar 中, +// 这些依赖会在 Flink 的 lib 目录中提供。 // -- compile "org.apache.flink:flink-java:${flinkVersion}" compile "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}" // -- -// Dependencies that should be part of the shadow jar, e.g. -// connectors. These must be in the flinkShadowJar configuration! +// 应该包含在 shadow jar 中的依赖,例如:连接器。 +// 这些必须在 flinkShadowJar 的配置中! Review comment: What about `这些` instead of `他们`? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295655540 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -219,15 +215,15 @@ configurations { // declare the dependencies for your production and test code dependencies { // -- -// Compile-time dependencies that should NOT be part of the -// shadow jar and are provided in the lib folder of Flink +// 编译时依赖不应该包含在 shadow jar 中, +// 这些依赖会在 Flink 的 lib 目录中提供。 // -- compile "org.apache.flink:flink-java:${flinkVersion}" compile "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}" // -- -// Dependencies that should be part of the shadow jar, e.g. -// connectors. These must be in the flinkShadowJar configuration! +// 应该包含在 shadow jar 中的依赖,例如:连接器。 +// 这些必须在 flinkShadowJar 的配置中! Review comment: Oh sorry, yes `这些`->`他们`. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] sunjincheng121 commented on issue #8532: [FLINK-12541][REST] Support to submit Python Table API jobs via REST API
sunjincheng121 commented on issue #8532: [FLINK-12541][REST] Support to submit Python Table API jobs via REST API URL: https://github.com/apache/flink/pull/8532#issuecomment-503888610 @tillrohrmann do you still think we should not merge this change into 1.9? just double check and confirm. :) This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295654901 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; + + public HiveTableSink(JobConf jobConf, RowTypeInfo rowTypeInfo, String dbName, String tableName, + List partitionColumns) { + this.jobConf = jobConf; + this.rowTypeInfo = rowTypeInfo; + this.dbName = dbName; + this.tableName = tableName; + this.partitionColumns = partitionColumns; + hiveVersion = jobConf.get(HiveCatalogValidator.CATALOG_HIVE_VERSION, HiveShimLoader.getHiveVersion()); Review comment: `this` is used on the initialization of all the other fields except for hiveVersion, just for code lint. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295654935 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; + + public HiveTableSink(JobConf jobConf, RowTypeInfo rowTypeInfo, String dbName, String tableName, + List partitionColumns) { + this.jobConf = jobConf; + this.rowTypeInfo = rowTypeInfo; + this.dbName = dbName; + this.tableName = tableName; + this.partitionColumns = partitionColumns; + hiveVersion = jobConf.get(HiveCatalogValidator.CATALOG_HIVE_VERSION, HiveShimLoader.getHiveVersion()); + } + + @Override + public OutputFormat getOutputFormat() { + boolean isPartitioned = partitionColumns != null && !partitionColumns.isEmpty(); + // TODO: need PartitionableTableSink to decide whether it's dynamic partitioning + boolean isDynamicPartition = isPartitioned; + try (HiveMetastoreClientWrapper client = HiveMetastoreClientFactory.create(new HiveConf(jobConf, HiveConf.class), hiveVersion)) { + Table table = client.getTable(dbName, tableName); + StorageDescriptor sd = table.getSd(); + // here we use the sdLocation to store the output path of the job, which is always a staging dir + String sdLocation = sd.getLocation(); + HiveTablePartition hiveTablePartition; + if (isPartitioned) { + // TODO: validate partition spec + // TODO: strip quotes in partition values + LinkedHashMap strippedPartSpec = new LinkedHashMap<>(); Review comment: Makes sense. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the
[GitHub] [flink] zhijiangW commented on a change in pull request #8646: [FLINK-12735][network] Make shuffle environment implementation independent with IOManager
zhijiangW commented on a change in pull request #8646: [FLINK-12735][network] Make shuffle environment implementation independent with IOManager URL: https://github.com/apache/flink/pull/8646#discussion_r295654877 ## File path: flink-runtime/src/main/java/org/apache/flink/runtime/io/disk/FileChannelManager.java ## @@ -0,0 +1,119 @@ +/* + * 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.flink.runtime.io.disk; + +import org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.Enumerator; +import org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID; +import org.apache.flink.util.FileUtils; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.IOException; +import java.util.Random; +import java.util.UUID; + +/** + * The manager used for creating/deleting file channels based on config temp dirs. + */ +public class FileChannelManager implements AutoCloseable { + private static final Logger LOG = LoggerFactory.getLogger(FileChannelManager.class); + + /** The temporary directories for files. */ + private final File[] paths; Review comment: yes, got it. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] zhijiangW commented on a change in pull request #8646: [FLINK-12735][network] Make shuffle environment implementation independent with IOManager
zhijiangW commented on a change in pull request #8646: [FLINK-12735][network] Make shuffle environment implementation independent with IOManager URL: https://github.com/apache/flink/pull/8646#discussion_r295654659 ## File path: flink-runtime/src/main/java/org/apache/flink/runtime/io/disk/iomanager/IOManager.java ## @@ -120,41 +121,40 @@ public boolean isProperlyShutDown() { // /** -* Creates a new {@link FileIOChannel.ID} in one of the temp directories. Multiple -* invocations of this method spread the channels evenly across the different directories. +* Creates a new {@link ID} in one of the temp directories. Multiple invocations of this +* method spread the channels evenly across the different directories. * * @return A channel to a temporary directory. */ - public FileIOChannel.ID createChannel() { + public ID createChannel() { final int num = getNextPathNum(); - return new FileIOChannel.ID(this.paths[num], num, this.random); + return new ID(this.paths[num], num, this.random); } /** -* Creates a new {@link FileIOChannel.Enumerator}, spreading the channels in a round-robin fashion +* Creates a new {@link Enumerator}, spreading the channels in a round-robin fashion * across the temporary file directories. * * @return An enumerator for channels. */ - public FileIOChannel.Enumerator createChannelEnumerator() { - return new FileIOChannel.Enumerator(this.paths, this.random); + public Enumerator createChannelEnumerator() { + return new Enumerator(this.paths, this.random); } /** * Deletes the file underlying the given channel. If the channel is still open, this * call may fail. -* +* * @param channel The channel to be deleted. -* @throws IOException Thrown if the deletion fails. */ - public void deleteChannel(FileIOChannel.ID channel) throws IOException { + public void deleteChannel(ID channel) { Review comment: Yes, I think the other public methods in `IOManager` could also be static if so. But I wonder it might not belong to the scope this PR. How about refactoring it if needed future? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] lirui-apache commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
lirui-apache commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295654359 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; + + public HiveTableSink(JobConf jobConf, RowTypeInfo rowTypeInfo, String dbName, String tableName, + List partitionColumns) { + this.jobConf = jobConf; + this.rowTypeInfo = rowTypeInfo; + this.dbName = dbName; + this.tableName = tableName; + this.partitionColumns = partitionColumns; + hiveVersion = jobConf.get(HiveCatalogValidator.CATALOG_HIVE_VERSION, HiveShimLoader.getHiveVersion()); + } + + @Override + public OutputFormat getOutputFormat() { + boolean isPartitioned = partitionColumns != null && !partitionColumns.isEmpty(); + // TODO: need PartitionableTableSink to decide whether it's dynamic partitioning + boolean isDynamicPartition = isPartitioned; + try (HiveMetastoreClientWrapper client = HiveMetastoreClientFactory.create(new HiveConf(jobConf, HiveConf.class), hiveVersion)) { + Table table = client.getTable(dbName, tableName); + StorageDescriptor sd = table.getSd(); + // here we use the sdLocation to store the output path of the job, which is always a staging dir + String sdLocation = sd.getLocation(); + HiveTablePartition hiveTablePartition; + if (isPartitioned) { + // TODO: validate partition spec + // TODO: strip quotes in partition values + LinkedHashMap strippedPartSpec = new LinkedHashMap<>(); Review comment: Partition spec requires the partition columns in a specific order. So it's better to use `LinkedHashMap ` to explicitly indicate we need an ordered map here. -
[GitHub] [flink] yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295654431 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -219,15 +215,15 @@ configurations { // declare the dependencies for your production and test code dependencies { // -- -// Compile-time dependencies that should NOT be part of the -// shadow jar and are provided in the lib folder of Flink +// 编译时依赖不应该包含在 shadow jar 中, +// 这些依赖会在 Flink 的 lib 目录中提供。 // -- compile "org.apache.flink:flink-java:${flinkVersion}" compile "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}" // -- -// Dependencies that should be part of the shadow jar, e.g. -// connectors. These must be in the flinkShadowJar configuration! +// 应该包含在 shadow jar 中的依赖,例如:连接器。 +// 这些必须在 flinkShadowJar 的配置中! Review comment: `这些` instead of `他们`? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295652737 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -304,51 +297,46 @@ quickstart/ └── log4j.properties {% endhighlight %} -The sample project is a __Gradle project__, which contains two classes: _StreamingJob_ and _BatchJob_ are the basic skeleton programs for a *DataStream* and *DataSet* program. -The _main_ method is the entry point of the program, both for in-IDE testing/execution and for proper deployments. +示例项目是一个 __Gradle 项目__,它包含了两个类:_StreamingJob_ 和 _BatchJob_ 是 *DataStream* 和 *DataSet* 程序的基础骨架程序。 +_main_ 方法是程序的入口,即可用于IDE测试/执行,也可用于部署。 -We recommend you __import this project into your IDE__ to develop and -test it. IntelliJ IDEA supports Gradle projects after installing the `Gradle` plugin. -Eclipse does so via the [Eclipse Buildship](https://projects.eclipse.org/projects/tools.buildship) plugin -(make sure to specify a Gradle version >= 3.0 in the last step of the import wizard; the `shadow` plugin requires it). -You may also use [Gradle's IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) -to create project files from Gradle. +我们建议你将 __此项目导入你的 IDE__ 来开发和测试它。 +IntelliJ IDEA 在安装 `Gradle` 插件后支持 Gradle 项目。Eclipse 则通过 [Eclipse Buildship](https://projects.eclipse +.org/projects/tools.buildship) 插件支持 Gradle 项目(鉴于 `shadow` 插件对 Gradle 版本有要求,请确保在导入向导的最后一步指定 Gradle 版本 >= 3.0)。 +你也可以使用 [Gradle’s IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) 从 Gradle +创建项目文件。 -*Please note*: The default JVM heapsize for Java may be too -small for Flink. You have to manually increase it. -In Eclipse, choose `Run Configurations -> Arguments` and write into the `VM Arguments` box: `-Xmx800m`. -In IntelliJ IDEA recommended way to change JVM options is from the `Help | Edit Custom VM Options` menu. See [this article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) for details. +*请注意*:对 Flink 来说,默认的 JVM 堆内存可能太小,你应当手动增加堆内存。 +在 Eclipse中,选择 `Run Configurations -> Arguments` 并在 `VM Arguments` 对应的输入框中写入:`-Xmx800m`。 +在 IntelliJ IDEA 中,推荐从菜单 `Help | Edit Custom VM Options` 来修改 JVM 选项。有关详细信息,请参阅[此文章](https://intellij-support +.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)。 -### Build Project +### 构建项目 -If you want to __build/package your project__, go to your project directory and -run the '`gradle clean shadowJar`' command. -You will __find a JAR file__ that contains your application, plus connectors and libraries -that you may have added as dependencies to the application: `build/libs/--all.jar`. +如果你想要 __构建/打包项目__,请在项目目录下运行 '`gradle clean shadowJar`' 命令。 +命令执行后,你将 __找到一个 JAR 文件__,里面包含了你的应用程序,以及已作为依赖项添加到应用程序的连接器和库:`build/libs/--all.jar`。 -__Note:__ If you use a different class than *StreamingJob* as the application's main class / entry point, -we recommend you change the `mainClassName` setting in the `build.gradle` file accordingly. That way, Flink -can run the application from the JAR file without additionally specifying the main class. +__注意:__ 如果你使用其他类而不是 *StreamingJob* 作为应用程序的主类/入口, +我们建议你相应地修改 `build.gradle` 文件中的 `mainClassName` 配置。 +这样,Flink 可以从 JAR 文件运行应用程序,而无需另外指定主类。 -## Next Steps +## 下一步 -Write your application! +开始编写应用! -If you are writing a streaming application and you are looking for inspiration what to write, -take a look at the [Stream Processing Application Tutorial]({{ site.baseurl }}/tutorials/datastream_api.html#writing-a-flink-program). +如果你准备编写流处理应用,正在寻找灵感来写什么, +可以看看[流处理应用程序教程]({{ site.baseurl }}/zh/tutorials/datastream_api.html#writing-a-flink-program) -If you are writing a batch processing application and you are looking for inspiration what to write, -take a look at the [Batch Application Examples]({{ site.baseurl }}/dev/batch/examples.html). +如果你准备编写批处理应用,正在寻找灵感来写什么, +可以看看[批处理应用程序示例]({{ site.baseurl }}/zh/dev/batch/examples.html) -For a complete overview over the APIs, have a look at the -[DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and -[DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections. +有关 API 的完整概述,请查看 +[DataStream API]({{ site.baseurl }}/zh/dev/datastream_api.html) 和 +[DataSet API]({{ site.baseurl }}/zh/dev/batch/index.html) 章节。 -[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to run an application outside the IDE on a local cluster. +在[这里]({{ site.baseurl }}/zh/tutorials/local_setup.html),你可以找到如何在 IDE 之外的本地集群中运行应用程序。 Review comment: I think it can be assessed from this link : [https://ci.apache.org/projects/flink/flink-docs-master/zh/tutorials/local_setup.html](https://ci.apache.org/projects/flink/flink-docs-master/zh/tutorials/local_setup.
[GitHub] [flink] yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295652737 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -304,51 +297,46 @@ quickstart/ └── log4j.properties {% endhighlight %} -The sample project is a __Gradle project__, which contains two classes: _StreamingJob_ and _BatchJob_ are the basic skeleton programs for a *DataStream* and *DataSet* program. -The _main_ method is the entry point of the program, both for in-IDE testing/execution and for proper deployments. +示例项目是一个 __Gradle 项目__,它包含了两个类:_StreamingJob_ 和 _BatchJob_ 是 *DataStream* 和 *DataSet* 程序的基础骨架程序。 +_main_ 方法是程序的入口,即可用于IDE测试/执行,也可用于部署。 -We recommend you __import this project into your IDE__ to develop and -test it. IntelliJ IDEA supports Gradle projects after installing the `Gradle` plugin. -Eclipse does so via the [Eclipse Buildship](https://projects.eclipse.org/projects/tools.buildship) plugin -(make sure to specify a Gradle version >= 3.0 in the last step of the import wizard; the `shadow` plugin requires it). -You may also use [Gradle's IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) -to create project files from Gradle. +我们建议你将 __此项目导入你的 IDE__ 来开发和测试它。 +IntelliJ IDEA 在安装 `Gradle` 插件后支持 Gradle 项目。Eclipse 则通过 [Eclipse Buildship](https://projects.eclipse +.org/projects/tools.buildship) 插件支持 Gradle 项目(鉴于 `shadow` 插件对 Gradle 版本有要求,请确保在导入向导的最后一步指定 Gradle 版本 >= 3.0)。 +你也可以使用 [Gradle’s IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) 从 Gradle +创建项目文件。 -*Please note*: The default JVM heapsize for Java may be too -small for Flink. You have to manually increase it. -In Eclipse, choose `Run Configurations -> Arguments` and write into the `VM Arguments` box: `-Xmx800m`. -In IntelliJ IDEA recommended way to change JVM options is from the `Help | Edit Custom VM Options` menu. See [this article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) for details. +*请注意*:对 Flink 来说,默认的 JVM 堆内存可能太小,你应当手动增加堆内存。 +在 Eclipse中,选择 `Run Configurations -> Arguments` 并在 `VM Arguments` 对应的输入框中写入:`-Xmx800m`。 +在 IntelliJ IDEA 中,推荐从菜单 `Help | Edit Custom VM Options` 来修改 JVM 选项。有关详细信息,请参阅[此文章](https://intellij-support +.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)。 -### Build Project +### 构建项目 -If you want to __build/package your project__, go to your project directory and -run the '`gradle clean shadowJar`' command. -You will __find a JAR file__ that contains your application, plus connectors and libraries -that you may have added as dependencies to the application: `build/libs/--all.jar`. +如果你想要 __构建/打包项目__,请在项目目录下运行 '`gradle clean shadowJar`' 命令。 +命令执行后,你将 __找到一个 JAR 文件__,里面包含了你的应用程序,以及已作为依赖项添加到应用程序的连接器和库:`build/libs/--all.jar`。 -__Note:__ If you use a different class than *StreamingJob* as the application's main class / entry point, -we recommend you change the `mainClassName` setting in the `build.gradle` file accordingly. That way, Flink -can run the application from the JAR file without additionally specifying the main class. +__注意:__ 如果你使用其他类而不是 *StreamingJob* 作为应用程序的主类/入口, +我们建议你相应地修改 `build.gradle` 文件中的 `mainClassName` 配置。 +这样,Flink 可以从 JAR 文件运行应用程序,而无需另外指定主类。 -## Next Steps +## 下一步 -Write your application! +开始编写应用! -If you are writing a streaming application and you are looking for inspiration what to write, -take a look at the [Stream Processing Application Tutorial]({{ site.baseurl }}/tutorials/datastream_api.html#writing-a-flink-program). +如果你准备编写流处理应用,正在寻找灵感来写什么, +可以看看[流处理应用程序教程]({{ site.baseurl }}/zh/tutorials/datastream_api.html#writing-a-flink-program) -If you are writing a batch processing application and you are looking for inspiration what to write, -take a look at the [Batch Application Examples]({{ site.baseurl }}/dev/batch/examples.html). +如果你准备编写批处理应用,正在寻找灵感来写什么, +可以看看[批处理应用程序示例]({{ site.baseurl }}/zh/dev/batch/examples.html) -For a complete overview over the APIs, have a look at the -[DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and -[DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections. +有关 API 的完整概述,请查看 +[DataStream API]({{ site.baseurl }}/zh/dev/datastream_api.html) 和 +[DataSet API]({{ site.baseurl }}/zh/dev/batch/index.html) 章节。 -[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to run an application outside the IDE on a local cluster. +在[这里]({{ site.baseurl }}/zh/tutorials/local_setup.html),你可以找到如何在 IDE 之外的本地集群中运行应用程序。 Review comment: I think it can be assessed from this link : [https://ci.apache.org/projects/flink/flink-docs-master/zh/tutorials/local_setup.html](https://ci.apache.org/projects/flink/flink-docs-master/zh/tutorials/local_setup.
[GitHub] [flink] lirui-apache commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
lirui-apache commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295653875 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; + + public HiveTableSink(JobConf jobConf, RowTypeInfo rowTypeInfo, String dbName, String tableName, + List partitionColumns) { + this.jobConf = jobConf; + this.rowTypeInfo = rowTypeInfo; + this.dbName = dbName; + this.tableName = tableName; + this.partitionColumns = partitionColumns; + hiveVersion = jobConf.get(HiveCatalogValidator.CATALOG_HIVE_VERSION, HiveShimLoader.getHiveVersion()); Review comment: Could you explain what's the benefit of doing that? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] lirui-apache commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
lirui-apache commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295653711 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; Review comment: As the comment said, `overwrite ` is intended to be configured via the `OverwritableTableSink ` interface. Therefore it shouldn't be initialized in the constructor. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295653024 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -304,51 +297,46 @@ quickstart/ └── log4j.properties {% endhighlight %} -The sample project is a __Gradle project__, which contains two classes: _StreamingJob_ and _BatchJob_ are the basic skeleton programs for a *DataStream* and *DataSet* program. -The _main_ method is the entry point of the program, both for in-IDE testing/execution and for proper deployments. +示例项目是一个 __Gradle 项目__,它包含了两个类:_StreamingJob_ 和 _BatchJob_ 是 *DataStream* 和 *DataSet* 程序的基础骨架程序。 +_main_ 方法是程序的入口,即可用于IDE测试/执行,也可用于部署。 -We recommend you __import this project into your IDE__ to develop and -test it. IntelliJ IDEA supports Gradle projects after installing the `Gradle` plugin. -Eclipse does so via the [Eclipse Buildship](https://projects.eclipse.org/projects/tools.buildship) plugin -(make sure to specify a Gradle version >= 3.0 in the last step of the import wizard; the `shadow` plugin requires it). -You may also use [Gradle's IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) -to create project files from Gradle. +我们建议你将 __此项目导入你的 IDE__ 来开发和测试它。 +IntelliJ IDEA 在安装 `Gradle` 插件后支持 Gradle 项目。Eclipse 则通过 [Eclipse Buildship](https://projects.eclipse +.org/projects/tools.buildship) 插件支持 Gradle 项目(鉴于 `shadow` 插件对 Gradle 版本有要求,请确保在导入向导的最后一步指定 Gradle 版本 >= 3.0)。 +你也可以使用 [Gradle’s IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) 从 Gradle +创建项目文件。 -*Please note*: The default JVM heapsize for Java may be too -small for Flink. You have to manually increase it. -In Eclipse, choose `Run Configurations -> Arguments` and write into the `VM Arguments` box: `-Xmx800m`. -In IntelliJ IDEA recommended way to change JVM options is from the `Help | Edit Custom VM Options` menu. See [this article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) for details. +*请注意*:对 Flink 来说,默认的 JVM 堆内存可能太小,你应当手动增加堆内存。 +在 Eclipse中,选择 `Run Configurations -> Arguments` 并在 `VM Arguments` 对应的输入框中写入:`-Xmx800m`。 +在 IntelliJ IDEA 中,推荐从菜单 `Help | Edit Custom VM Options` 来修改 JVM 选项。有关详细信息,请参阅[此文章](https://intellij-support +.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)。 -### Build Project +### 构建项目 -If you want to __build/package your project__, go to your project directory and -run the '`gradle clean shadowJar`' command. -You will __find a JAR file__ that contains your application, plus connectors and libraries -that you may have added as dependencies to the application: `build/libs/--all.jar`. +如果你想要 __构建/打包项目__,请在项目目录下运行 '`gradle clean shadowJar`' 命令。 +命令执行后,你将 __找到一个 JAR 文件__,里面包含了你的应用程序,以及已作为依赖项添加到应用程序的连接器和库:`build/libs/--all.jar`。 -__Note:__ If you use a different class than *StreamingJob* as the application's main class / entry point, -we recommend you change the `mainClassName` setting in the `build.gradle` file accordingly. That way, Flink -can run the application from the JAR file without additionally specifying the main class. +__注意:__ 如果你使用其他类而不是 *StreamingJob* 作为应用程序的主类/入口, +我们建议你相应地修改 `build.gradle` 文件中的 `mainClassName` 配置。 +这样,Flink 可以从 JAR 文件运行应用程序,而无需另外指定主类。 -## Next Steps +## 下一步 -Write your application! +开始编写应用! -If you are writing a streaming application and you are looking for inspiration what to write, -take a look at the [Stream Processing Application Tutorial]({{ site.baseurl }}/tutorials/datastream_api.html#writing-a-flink-program). +如果你准备编写流处理应用,正在寻找灵感来写什么, +可以看看[流处理应用程序教程]({{ site.baseurl }}/zh/tutorials/datastream_api.html#writing-a-flink-program) -If you are writing a batch processing application and you are looking for inspiration what to write, -take a look at the [Batch Application Examples]({{ site.baseurl }}/dev/batch/examples.html). +如果你准备编写批处理应用,正在寻找灵感来写什么, +可以看看[批处理应用程序示例]({{ site.baseurl }}/zh/dev/batch/examples.html) -For a complete overview over the APIs, have a look at the -[DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and -[DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections. +有关 API 的完整概述,请查看 +[DataStream API]({{ site.baseurl }}/zh/dev/datastream_api.html) 和 +[DataSet API]({{ site.baseurl }}/zh/dev/batch/index.html) 章节。 -[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to run an application outside the IDE on a local cluster. +在[这里]({{ site.baseurl }}/zh/tutorials/local_setup.html),你可以找到如何在 IDE 之外的本地集群中运行应用程序。 Review comment: Oh sorry, my fault. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above
[jira] [Closed] (FLINK-12856) Introduce planner rule to push projection into TableSource
[ https://issues.apache.org/jira/browse/FLINK-12856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kurt Young closed FLINK-12856. -- Resolution: Implemented Fix Version/s: 1.9.0 merged in 1.9.0: 800fe61cb6074eed0311abd4634d71f5569451b5 > Introduce planner rule to push projection into TableSource > -- > > Key: FLINK-12856 > URL: https://issues.apache.org/jira/browse/FLINK-12856 > Project: Flink > Issue Type: New Feature > Components: Table SQL / Planner >Reporter: godfrey he >Assignee: godfrey he >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 20m > Remaining Estimate: 0h > > This issue aims to support push projection into ProjectableTableSource or > NestedFieldsProjectableTableSource to reduce output fields of a TableSource -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] KurtYoung merged pull request #8747: [FLINK-12856] [table-planner-blink] Introduce planner rule to push projection into TableSource
KurtYoung merged pull request #8747: [FLINK-12856] [table-planner-blink] Introduce planner rule to push projection into TableSource URL: https://github.com/apache/flink/pull/8747 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295652737 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -304,51 +297,46 @@ quickstart/ └── log4j.properties {% endhighlight %} -The sample project is a __Gradle project__, which contains two classes: _StreamingJob_ and _BatchJob_ are the basic skeleton programs for a *DataStream* and *DataSet* program. -The _main_ method is the entry point of the program, both for in-IDE testing/execution and for proper deployments. +示例项目是一个 __Gradle 项目__,它包含了两个类:_StreamingJob_ 和 _BatchJob_ 是 *DataStream* 和 *DataSet* 程序的基础骨架程序。 +_main_ 方法是程序的入口,即可用于IDE测试/执行,也可用于部署。 -We recommend you __import this project into your IDE__ to develop and -test it. IntelliJ IDEA supports Gradle projects after installing the `Gradle` plugin. -Eclipse does so via the [Eclipse Buildship](https://projects.eclipse.org/projects/tools.buildship) plugin -(make sure to specify a Gradle version >= 3.0 in the last step of the import wizard; the `shadow` plugin requires it). -You may also use [Gradle's IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) -to create project files from Gradle. +我们建议你将 __此项目导入你的 IDE__ 来开发和测试它。 +IntelliJ IDEA 在安装 `Gradle` 插件后支持 Gradle 项目。Eclipse 则通过 [Eclipse Buildship](https://projects.eclipse +.org/projects/tools.buildship) 插件支持 Gradle 项目(鉴于 `shadow` 插件对 Gradle 版本有要求,请确保在导入向导的最后一步指定 Gradle 版本 >= 3.0)。 +你也可以使用 [Gradle’s IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) 从 Gradle +创建项目文件。 -*Please note*: The default JVM heapsize for Java may be too -small for Flink. You have to manually increase it. -In Eclipse, choose `Run Configurations -> Arguments` and write into the `VM Arguments` box: `-Xmx800m`. -In IntelliJ IDEA recommended way to change JVM options is from the `Help | Edit Custom VM Options` menu. See [this article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) for details. +*请注意*:对 Flink 来说,默认的 JVM 堆内存可能太小,你应当手动增加堆内存。 +在 Eclipse中,选择 `Run Configurations -> Arguments` 并在 `VM Arguments` 对应的输入框中写入:`-Xmx800m`。 +在 IntelliJ IDEA 中,推荐从菜单 `Help | Edit Custom VM Options` 来修改 JVM 选项。有关详细信息,请参阅[此文章](https://intellij-support +.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)。 -### Build Project +### 构建项目 -If you want to __build/package your project__, go to your project directory and -run the '`gradle clean shadowJar`' command. -You will __find a JAR file__ that contains your application, plus connectors and libraries -that you may have added as dependencies to the application: `build/libs/--all.jar`. +如果你想要 __构建/打包项目__,请在项目目录下运行 '`gradle clean shadowJar`' 命令。 +命令执行后,你将 __找到一个 JAR 文件__,里面包含了你的应用程序,以及已作为依赖项添加到应用程序的连接器和库:`build/libs/--all.jar`。 -__Note:__ If you use a different class than *StreamingJob* as the application's main class / entry point, -we recommend you change the `mainClassName` setting in the `build.gradle` file accordingly. That way, Flink -can run the application from the JAR file without additionally specifying the main class. +__注意:__ 如果你使用其他类而不是 *StreamingJob* 作为应用程序的主类/入口, +我们建议你相应地修改 `build.gradle` 文件中的 `mainClassName` 配置。 +这样,Flink 可以从 JAR 文件运行应用程序,而无需另外指定主类。 -## Next Steps +## 下一步 -Write your application! +开始编写应用! -If you are writing a streaming application and you are looking for inspiration what to write, -take a look at the [Stream Processing Application Tutorial]({{ site.baseurl }}/tutorials/datastream_api.html#writing-a-flink-program). +如果你准备编写流处理应用,正在寻找灵感来写什么, +可以看看[流处理应用程序教程]({{ site.baseurl }}/zh/tutorials/datastream_api.html#writing-a-flink-program) -If you are writing a batch processing application and you are looking for inspiration what to write, -take a look at the [Batch Application Examples]({{ site.baseurl }}/dev/batch/examples.html). +如果你准备编写批处理应用,正在寻找灵感来写什么, +可以看看[批处理应用程序示例]({{ site.baseurl }}/zh/dev/batch/examples.html) -For a complete overview over the APIs, have a look at the -[DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and -[DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections. +有关 API 的完整概述,请查看 +[DataStream API]({{ site.baseurl }}/zh/dev/datastream_api.html) 和 +[DataSet API]({{ site.baseurl }}/zh/dev/batch/index.html) 章节。 -[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to run an application outside the IDE on a local cluster. +在[这里]({{ site.baseurl }}/zh/tutorials/local_setup.html),你可以找到如何在 IDE 之外的本地集群中运行应用程序。 Review comment: I think it can be assessed from this link : [https://ci.apache.org/projects/flink/flink-docs-master/zh/tutorials/local_setup.html](https://ci.apache.org/projects/flink/flink-docs-master/zh/tutorials/local_setup.
[jira] [Comment Edited] (FLINK-12849) Add support for build Python Docs in Buildbot
[ https://issues.apache.org/jira/browse/FLINK-12849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868272#comment-16868272 ] sunjincheng edited comment on FLINK-12849 at 6/20/19 5:47 AM: -- We successfully built PythonDocs: master: [https://ci.apache.org/builders/flink-docs-master/builds/1509] release-1.7: [https://ci.apache.org/builders/flink-docs-release-1.7/builds/204] then I'll close this JIRA. Thanks again for your help [~aljoscha] [~Zentol] :) was (Author: sunjincheng121): We successfully built PythonDocs, [https://ci.apache.org/builders/flink-docs-master/builds/1509] ,then I'll close this JIRA. Thanks again for your help [~aljoscha] [~Zentol] :) > Add support for build Python Docs in Buildbot > - > > Key: FLINK-12849 > URL: https://issues.apache.org/jira/browse/FLINK-12849 > Project: Flink > Issue Type: Sub-task > Components: API / Python, Build System >Affects Versions: 1.9.0 >Reporter: sunjincheng >Assignee: sunjincheng >Priority: Major > Fix For: 1.9.0 > > Attachments: image-2019-06-14-16-14-35-439.png, > image-2019-06-20-13-45-40-876.png, python_docs.patch > > > We should add the Python Doc for Python API, and add the link to the web > page. i.e.: > !image-2019-06-14-16-14-35-439.png! > In FLINK-12720 we will add how to generate the Python Docs, and in this PR we > should add support for build Python Docs in Buildbot. We may need to modify > the build config: > [https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/flink.conf] > > the Wiki of how to change the Buildbot code: > [https://cwiki.apache.org/confluence/display/FLINK/Managing+Flink+Documentation] > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (FLINK-12849) Add support for build Python Docs in Buildbot
[ https://issues.apache.org/jira/browse/FLINK-12849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868273#comment-16868273 ] sunjincheng edited comment on FLINK-12849 at 6/20/19 5:45 AM: -- Fixed in the SVN, the change code is as follows: !image-2019-06-20-13-45-40-876.png! was (Author: sunjincheng121): Fixed in the SVN, the change code is as follows: !image-2019-06-20-13-45-05-090.png! > Add support for build Python Docs in Buildbot > - > > Key: FLINK-12849 > URL: https://issues.apache.org/jira/browse/FLINK-12849 > Project: Flink > Issue Type: Sub-task > Components: API / Python, Build System >Affects Versions: 1.9.0 >Reporter: sunjincheng >Assignee: sunjincheng >Priority: Major > Fix For: 1.9.0 > > Attachments: image-2019-06-14-16-14-35-439.png, > image-2019-06-20-13-45-40-876.png, python_docs.patch > > > We should add the Python Doc for Python API, and add the link to the web > page. i.e.: > !image-2019-06-14-16-14-35-439.png! > In FLINK-12720 we will add how to generate the Python Docs, and in this PR we > should add support for build Python Docs in Buildbot. We may need to modify > the build config: > [https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/flink.conf] > > the Wiki of how to change the Buildbot code: > [https://cwiki.apache.org/confluence/display/FLINK/Managing+Flink+Documentation] > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (FLINK-12849) Add support for build Python Docs in Buildbot
[ https://issues.apache.org/jira/browse/FLINK-12849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] sunjincheng closed FLINK-12849. --- Resolution: Fixed Fix Version/s: 1.9.0 Fixed in the SVN, the change code is as follows: !image-2019-06-20-13-45-05-090.png! > Add support for build Python Docs in Buildbot > - > > Key: FLINK-12849 > URL: https://issues.apache.org/jira/browse/FLINK-12849 > Project: Flink > Issue Type: Sub-task > Components: API / Python, Build System >Affects Versions: 1.9.0 >Reporter: sunjincheng >Assignee: sunjincheng >Priority: Major > Fix For: 1.9.0 > > Attachments: image-2019-06-14-16-14-35-439.png, > image-2019-06-20-13-45-40-876.png, python_docs.patch > > > We should add the Python Doc for Python API, and add the link to the web > page. i.e.: > !image-2019-06-14-16-14-35-439.png! > In FLINK-12720 we will add how to generate the Python Docs, and in this PR we > should add support for build Python Docs in Buildbot. We may need to modify > the build config: > [https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/flink.conf] > > the Wiki of how to change the Buildbot code: > [https://cwiki.apache.org/confluence/display/FLINK/Managing+Flink+Documentation] > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] zhijiangW commented on issue #8761: [FLINK-12842][network] Fix invalid check released state during ResultPartition#createSubpartitionView
zhijiangW commented on issue #8761: [FLINK-12842][network] Fix invalid check released state during ResultPartition#createSubpartitionView URL: https://github.com/apache/flink/pull/8761#issuecomment-503884044 Thanks @zentol , it has already green. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Commented] (FLINK-12849) Add support for build Python Docs in Buildbot
[ https://issues.apache.org/jira/browse/FLINK-12849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868272#comment-16868272 ] sunjincheng commented on FLINK-12849: - We successfully built PythonDocs, [https://ci.apache.org/builders/flink-docs-master/builds/1509] ,then I'll close this JIRA. Thanks again for your help [~aljoscha] [~Zentol] :) > Add support for build Python Docs in Buildbot > - > > Key: FLINK-12849 > URL: https://issues.apache.org/jira/browse/FLINK-12849 > Project: Flink > Issue Type: Sub-task > Components: API / Python, Build System >Affects Versions: 1.9.0 >Reporter: sunjincheng >Assignee: sunjincheng >Priority: Major > Attachments: image-2019-06-14-16-14-35-439.png, python_docs.patch > > > We should add the Python Doc for Python API, and add the link to the web > page. i.e.: > !image-2019-06-14-16-14-35-439.png! > In FLINK-12720 we will add how to generate the Python Docs, and in this PR we > should add support for build Python Docs in Buildbot. We may need to modify > the build config: > [https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/flink.conf] > > the Wiki of how to change the Buildbot code: > [https://cwiki.apache.org/confluence/display/FLINK/Managing+Flink+Documentation] > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295649613 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; + + public HiveTableSink(JobConf jobConf, RowTypeInfo rowTypeInfo, String dbName, String tableName, + List partitionColumns) { + this.jobConf = jobConf; + this.rowTypeInfo = rowTypeInfo; + this.dbName = dbName; + this.tableName = tableName; + this.partitionColumns = partitionColumns; + hiveVersion = jobConf.get(HiveCatalogValidator.CATALOG_HIVE_VERSION, HiveShimLoader.getHiveVersion()); + } + + @Override + public OutputFormat getOutputFormat() { + boolean isPartitioned = partitionColumns != null && !partitionColumns.isEmpty(); + // TODO: need PartitionableTableSink to decide whether it's dynamic partitioning + boolean isDynamicPartition = isPartitioned; + try (HiveMetastoreClientWrapper client = HiveMetastoreClientFactory.create(new HiveConf(jobConf, HiveConf.class), hiveVersion)) { + Table table = client.getTable(dbName, tableName); + StorageDescriptor sd = table.getSd(); + // here we use the sdLocation to store the output path of the job, which is always a staging dir + String sdLocation = sd.getLocation(); + HiveTablePartition hiveTablePartition; + if (isPartitioned) { + // TODO: validate partition spec + // TODO: strip quotes in partition values + LinkedHashMap strippedPartSpec = new LinkedHashMap<>(); Review comment: Is there a reason to make strippedPartSpec `LinkedHashMap` not `Map`? This is an automated message from the Apache Git Service. To re
[GitHub] [flink] synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295648808 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; Review comment: lint: would you move the initiation of `overwrite` to constructor? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
synckey commented on a change in pull request #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#discussion_r295648942 ## File path: flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/batch/connectors/hive/HiveTableSink.java ## @@ -0,0 +1,155 @@ +/* + * 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.flink.batch.connectors.hive; + +import org.apache.flink.api.common.io.OutputFormat; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.table.catalog.exceptions.CatalogException; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory; +import org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper; +import org.apache.flink.table.catalog.hive.client.HiveShimLoader; +import org.apache.flink.table.catalog.hive.descriptors.HiveCatalogValidator; +import org.apache.flink.table.sinks.OutputFormatTableSink; +import org.apache.flink.table.sinks.TableSink; +import org.apache.flink.types.Row; +import org.apache.flink.util.FlinkRuntimeException; +import org.apache.flink.util.Preconditions; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; +import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.mapred.JobConf; +import org.apache.thrift.TException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Table sink to write to Hive tables. + */ +public class HiveTableSink extends OutputFormatTableSink { + + private final JobConf jobConf; + private final RowTypeInfo rowTypeInfo; + private final String dbName; + private final String tableName; + private final List partitionColumns; + private final String hiveVersion; + + // TODO: need OverwritableTableSink to configure this + private boolean overwrite = false; + + public HiveTableSink(JobConf jobConf, RowTypeInfo rowTypeInfo, String dbName, String tableName, + List partitionColumns) { + this.jobConf = jobConf; + this.rowTypeInfo = rowTypeInfo; + this.dbName = dbName; + this.tableName = tableName; + this.partitionColumns = partitionColumns; + hiveVersion = jobConf.get(HiveCatalogValidator.CATALOG_HIVE_VERSION, HiveShimLoader.getHiveVersion()); Review comment: lint: would you also add a `this` before `hiveVersion`? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295647061 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -304,51 +297,46 @@ quickstart/ └── log4j.properties {% endhighlight %} -The sample project is a __Gradle project__, which contains two classes: _StreamingJob_ and _BatchJob_ are the basic skeleton programs for a *DataStream* and *DataSet* program. -The _main_ method is the entry point of the program, both for in-IDE testing/execution and for proper deployments. +示例项目是一个 __Gradle 项目__,它包含了两个类:_StreamingJob_ 和 _BatchJob_ 是 *DataStream* 和 *DataSet* 程序的基础骨架程序。 +_main_ 方法是程序的入口,即可用于IDE测试/执行,也可用于部署。 -We recommend you __import this project into your IDE__ to develop and -test it. IntelliJ IDEA supports Gradle projects after installing the `Gradle` plugin. -Eclipse does so via the [Eclipse Buildship](https://projects.eclipse.org/projects/tools.buildship) plugin -(make sure to specify a Gradle version >= 3.0 in the last step of the import wizard; the `shadow` plugin requires it). -You may also use [Gradle's IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) -to create project files from Gradle. +我们建议你将 __此项目导入你的 IDE__ 来开发和测试它。 +IntelliJ IDEA 在安装 `Gradle` 插件后支持 Gradle 项目。Eclipse 则通过 [Eclipse Buildship](https://projects.eclipse +.org/projects/tools.buildship) 插件支持 Gradle 项目(鉴于 `shadow` 插件对 Gradle 版本有要求,请确保在导入向导的最后一步指定 Gradle 版本 >= 3.0)。 +你也可以使用 [Gradle’s IDE integration](https://docs.gradle.org/current/userguide/userguide.html#ide-integration) 从 Gradle +创建项目文件。 -*Please note*: The default JVM heapsize for Java may be too -small for Flink. You have to manually increase it. -In Eclipse, choose `Run Configurations -> Arguments` and write into the `VM Arguments` box: `-Xmx800m`. -In IntelliJ IDEA recommended way to change JVM options is from the `Help | Edit Custom VM Options` menu. See [this article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) for details. +*请注意*:对 Flink 来说,默认的 JVM 堆内存可能太小,你应当手动增加堆内存。 +在 Eclipse中,选择 `Run Configurations -> Arguments` 并在 `VM Arguments` 对应的输入框中写入:`-Xmx800m`。 +在 IntelliJ IDEA 中,推荐从菜单 `Help | Edit Custom VM Options` 来修改 JVM 选项。有关详细信息,请参阅[此文章](https://intellij-support +.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)。 -### Build Project +### 构建项目 -If you want to __build/package your project__, go to your project directory and -run the '`gradle clean shadowJar`' command. -You will __find a JAR file__ that contains your application, plus connectors and libraries -that you may have added as dependencies to the application: `build/libs/--all.jar`. +如果你想要 __构建/打包项目__,请在项目目录下运行 '`gradle clean shadowJar`' 命令。 +命令执行后,你将 __找到一个 JAR 文件__,里面包含了你的应用程序,以及已作为依赖项添加到应用程序的连接器和库:`build/libs/--all.jar`。 -__Note:__ If you use a different class than *StreamingJob* as the application's main class / entry point, -we recommend you change the `mainClassName` setting in the `build.gradle` file accordingly. That way, Flink -can run the application from the JAR file without additionally specifying the main class. +__注意:__ 如果你使用其他类而不是 *StreamingJob* 作为应用程序的主类/入口, +我们建议你相应地修改 `build.gradle` 文件中的 `mainClassName` 配置。 +这样,Flink 可以从 JAR 文件运行应用程序,而无需另外指定主类。 -## Next Steps +## 下一步 -Write your application! +开始编写应用! -If you are writing a streaming application and you are looking for inspiration what to write, -take a look at the [Stream Processing Application Tutorial]({{ site.baseurl }}/tutorials/datastream_api.html#writing-a-flink-program). +如果你准备编写流处理应用,正在寻找灵感来写什么, +可以看看[流处理应用程序教程]({{ site.baseurl }}/zh/tutorials/datastream_api.html#writing-a-flink-program) -If you are writing a batch processing application and you are looking for inspiration what to write, -take a look at the [Batch Application Examples]({{ site.baseurl }}/dev/batch/examples.html). +如果你准备编写批处理应用,正在寻找灵感来写什么, +可以看看[批处理应用程序示例]({{ site.baseurl }}/zh/dev/batch/examples.html) -For a complete overview over the APIs, have a look at the -[DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and -[DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections. +有关 API 的完整概述,请查看 +[DataStream API]({{ site.baseurl }}/zh/dev/datastream_api.html) 和 +[DataSet API]({{ site.baseurl }}/zh/dev/batch/index.html) 章节。 -[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to run an application outside the IDE on a local cluster. +在[这里]({{ site.baseurl }}/zh/tutorials/local_setup.html),你可以找到如何在 IDE 之外的本地集群中运行应用程序。 Review comment: Looks like this link https://flink.apache.org/zh/tutorials/local_setup.html is dead. This is an automated message from the Apache Git Service. To resp
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295646328 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -219,15 +215,15 @@ configurations { // declare the dependencies for your production and test code dependencies { // -- -// Compile-time dependencies that should NOT be part of the -// shadow jar and are provided in the lib folder of Flink +// 编译时依赖不应该包含在 shadow jar 中, +// 这些依赖会在 Flink 的 lib 目录中提供。 // -- compile "org.apache.flink:flink-java:${flinkVersion}" compile "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}" // -- -// Dependencies that should be part of the shadow jar, e.g. -// connectors. These must be in the flinkShadowJar configuration! +// 应该包含在 shadow jar 中的依赖,例如:连接器。 +// 这些必须在 flinkShadowJar 的配置中! Review comment: What about `他们` instead of `他们`? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
synckey commented on a change in pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#discussion_r295645437 ## File path: docs/dev/projectsetup/java_api_quickstart.zh.md ## @@ -74,16 +74,17 @@ Use one of the following commands to __create a project__: {% unless site.is_stable %} -Note: For Maven 3.0 or higher, it is no longer possible to specify the repository (-DarchetypeCatalog) via the command line. If you wish to use the snapshot repository, you need to add a repository entry to your settings.xml. For details about this change, please refer to http://maven.apache.org/archetype/maven-archetype-plugin/archetype-repository.html";>Maven official document +注意:对于 Maven 3.0 及更高版本,不再支持通过命令行指定仓库(-DarchetypeCatalog)。 Review comment: Would you remove `对于`? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Comment Edited] (FLINK-12886) Support container memory segment
[ https://issues.apache.org/jira/browse/FLINK-12886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868265#comment-16868265 ] Jingsong Lee edited comment on FLINK-12886 at 6/20/19 5:16 AM: --- Back to the original intention of Jira and consider option 2, what kind of code do you want to optimize? Maybe you can talk deeply to the detail code instead of introduce a new big and abstract something. Maybe just a little bit of code refactoring is needed to achieve good results. was (Author: lzljs3620320): Back to the original intention of Jira and consider option 2, what kind of code do you want to optimize? Maybe you can talk deeply to the detail code instead of introduce a new big and abstract something. Maybe just a little bit of code refactoring is needed to achieve good results. > Support container memory segment > > > Key: FLINK-12886 > URL: https://issues.apache.org/jira/browse/FLINK-12886 > Project: Flink > Issue Type: New Feature > Components: Table SQL / Runtime >Reporter: Liya Fan >Assignee: Liya Fan >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-18-17-59-42-136.png > > Time Spent: 10m > Remaining Estimate: 0h > > We observe that in many scenarios, the operations/algorithms are based on an > array of MemorySegment. These memory segments form a large, combined, and > continuous memory space. > For example, suppose we have an array of n memory segments. Memory addresses > from 0 to segment_size - 1 are served by the first memory segment; memory > addresses from segment_size to 2 * segment_size - 1 are served by the second > memory segment, and so on. > Specific algorithms decide the actual MemorySegment to serve the operation > requests. For some rare cases, two or more memory segments serve the > requests. There are many operations based on such a paradigm, for example, > {{BinaryString#matchAt}}, {{SegmentsUtil#copyToBytes}}, > {{LongHashPartition#MatchIterator#get}}, etc. > The problem is that, for memory segment array based operations, large amounts > of code is devoted to > 1. Computing the memory segment index & offset within the memory segment. > 2. Processing boundary cases. For example, to write an integer, there are > only 2 bytes left in the first memory segment, and the remaining 2 bytes must > be written to the next memory segment. > 3. Differentiate processing for short/long data. For example, when copying > memory data to a byte array. Different methods are implemented for cases when > 1) the data fits in a single segment; 2) the data spans multiple segments. > Therefore, there are much duplicated code to achieve above purposes. What is > worse, this paradigm significantly increases the amount of code, making the > code more difficult to read and maintain. Furthermore, it easily gives rise > to bugs which difficult to find and debug. > To address these problems, we propose a new type of memory segment: > {{ContainerMemorySegment}}. It is based on an array of underlying memory > segments with the same size. It extends from the {{MemorySegment}} base > class, so it provides all the functionalities provided by {{MemorySegment}}. > In addition, it hides all the details for dealing with specific memory > segments, and acts as if it were a big continuous memory region. > A prototype implementation is given below: > !image-2019-06-18-17-59-42-136.png|thumbnail! > With this new type of memory segment, many operations/algorithms can be > greatly simplified, without affecting performance. This is because, > 1. Many checks, boundary processing are already there. We just move them to > the new class. > 2. We optimize the implementation of the new class, so the special > optimizations (e.g. optimizations for short data) are still preserved. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-12886) Support container memory segment
[ https://issues.apache.org/jira/browse/FLINK-12886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868265#comment-16868265 ] Jingsong Lee commented on FLINK-12886: -- Back to the original intention of Jira and consider option 2, what kind of code do you want to optimize? Maybe you can talk deeply to the detail code instead of introduce a new big and abstract something. Maybe just a little bit of code refactoring is needed to achieve good results. > Support container memory segment > > > Key: FLINK-12886 > URL: https://issues.apache.org/jira/browse/FLINK-12886 > Project: Flink > Issue Type: New Feature > Components: Table SQL / Runtime >Reporter: Liya Fan >Assignee: Liya Fan >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-18-17-59-42-136.png > > Time Spent: 10m > Remaining Estimate: 0h > > We observe that in many scenarios, the operations/algorithms are based on an > array of MemorySegment. These memory segments form a large, combined, and > continuous memory space. > For example, suppose we have an array of n memory segments. Memory addresses > from 0 to segment_size - 1 are served by the first memory segment; memory > addresses from segment_size to 2 * segment_size - 1 are served by the second > memory segment, and so on. > Specific algorithms decide the actual MemorySegment to serve the operation > requests. For some rare cases, two or more memory segments serve the > requests. There are many operations based on such a paradigm, for example, > {{BinaryString#matchAt}}, {{SegmentsUtil#copyToBytes}}, > {{LongHashPartition#MatchIterator#get}}, etc. > The problem is that, for memory segment array based operations, large amounts > of code is devoted to > 1. Computing the memory segment index & offset within the memory segment. > 2. Processing boundary cases. For example, to write an integer, there are > only 2 bytes left in the first memory segment, and the remaining 2 bytes must > be written to the next memory segment. > 3. Differentiate processing for short/long data. For example, when copying > memory data to a byte array. Different methods are implemented for cases when > 1) the data fits in a single segment; 2) the data spans multiple segments. > Therefore, there are much duplicated code to achieve above purposes. What is > worse, this paradigm significantly increases the amount of code, making the > code more difficult to read and maintain. Furthermore, it easily gives rise > to bugs which difficult to find and debug. > To address these problems, we propose a new type of memory segment: > {{ContainerMemorySegment}}. It is based on an array of underlying memory > segments with the same size. It extends from the {{MemorySegment}} base > class, so it provides all the functionalities provided by {{MemorySegment}}. > In addition, it hides all the details for dealing with specific memory > segments, and acts as if it were a big continuous memory region. > A prototype implementation is given below: > !image-2019-06-18-17-59-42-136.png|thumbnail! > With this new type of memory segment, many operations/algorithms can be > greatly simplified, without affecting performance. This is because, > 1. Many checks, boundary processing are already there. We just move them to > the new class. > 2. We optimize the implementation of the new class, so the special > optimizations (e.g. optimizations for short data) are still preserved. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-12886) Support container memory segment
[ https://issues.apache.org/jira/browse/FLINK-12886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868254#comment-16868254 ] Kurt Young commented on FLINK-12886: Generally speak I would vote for option 2, but let's first decide whether it's worthy to have a new utility class. > Support container memory segment > > > Key: FLINK-12886 > URL: https://issues.apache.org/jira/browse/FLINK-12886 > Project: Flink > Issue Type: New Feature > Components: Table SQL / Runtime >Reporter: Liya Fan >Assignee: Liya Fan >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-18-17-59-42-136.png > > Time Spent: 10m > Remaining Estimate: 0h > > We observe that in many scenarios, the operations/algorithms are based on an > array of MemorySegment. These memory segments form a large, combined, and > continuous memory space. > For example, suppose we have an array of n memory segments. Memory addresses > from 0 to segment_size - 1 are served by the first memory segment; memory > addresses from segment_size to 2 * segment_size - 1 are served by the second > memory segment, and so on. > Specific algorithms decide the actual MemorySegment to serve the operation > requests. For some rare cases, two or more memory segments serve the > requests. There are many operations based on such a paradigm, for example, > {{BinaryString#matchAt}}, {{SegmentsUtil#copyToBytes}}, > {{LongHashPartition#MatchIterator#get}}, etc. > The problem is that, for memory segment array based operations, large amounts > of code is devoted to > 1. Computing the memory segment index & offset within the memory segment. > 2. Processing boundary cases. For example, to write an integer, there are > only 2 bytes left in the first memory segment, and the remaining 2 bytes must > be written to the next memory segment. > 3. Differentiate processing for short/long data. For example, when copying > memory data to a byte array. Different methods are implemented for cases when > 1) the data fits in a single segment; 2) the data spans multiple segments. > Therefore, there are much duplicated code to achieve above purposes. What is > worse, this paradigm significantly increases the amount of code, making the > code more difficult to read and maintain. Furthermore, it easily gives rise > to bugs which difficult to find and debug. > To address these problems, we propose a new type of memory segment: > {{ContainerMemorySegment}}. It is based on an array of underlying memory > segments with the same size. It extends from the {{MemorySegment}} base > class, so it provides all the functionalities provided by {{MemorySegment}}. > In addition, it hides all the details for dealing with specific memory > segments, and acts as if it were a big continuous memory region. > A prototype implementation is given below: > !image-2019-06-18-17-59-42-136.png|thumbnail! > With this new type of memory segment, many operations/algorithms can be > greatly simplified, without affecting performance. This is because, > 1. Many checks, boundary processing are already there. We just move them to > the new class. > 2. We optimize the implementation of the new class, so the special > optimizations (e.g. optimizations for short data) are still preserved. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-12886) Support container memory segment
[ https://issues.apache.org/jira/browse/FLINK-12886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868251#comment-16868251 ] Liya Fan commented on FLINK-12886: -- [~ykt836] [~lzljs3620320], two ideas to resolve the performance degradation. Would you please give some comments? 1. Let ContainerMemorySegment and MemorySegment extends a common super interface, which defines the basic operations for accessing data: public interface MemoryAccessible { public int getInt(int index); public void setInt(int index, int value); ... } public class MemorySegment implements MemoryAccessible ... public class ContainerMemorySegment implements MemoryAccessible ... For this method, the MemorySegment class hierarchy is unaffected, so code that depends on MemorySegment does not have performance affected. In addition, the code that expects a MemoryAccessible can accept both a MemorySegment and a ContainerMemorySegment. 2. ContainerMemorySegment no longer inherits from MemorySegment. In this way, ContainerMemorySegment just acts a wrapper for a set of MemorySegment. So wherever a MemorySegment is expected, a ContainerMemorySegment cannot be provided. Also, ContainerMemorySegment can be moved to module blink-runtime, because it is not a general MemorySegment. > Support container memory segment > > > Key: FLINK-12886 > URL: https://issues.apache.org/jira/browse/FLINK-12886 > Project: Flink > Issue Type: New Feature > Components: Table SQL / Runtime >Reporter: Liya Fan >Assignee: Liya Fan >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-18-17-59-42-136.png > > Time Spent: 10m > Remaining Estimate: 0h > > We observe that in many scenarios, the operations/algorithms are based on an > array of MemorySegment. These memory segments form a large, combined, and > continuous memory space. > For example, suppose we have an array of n memory segments. Memory addresses > from 0 to segment_size - 1 are served by the first memory segment; memory > addresses from segment_size to 2 * segment_size - 1 are served by the second > memory segment, and so on. > Specific algorithms decide the actual MemorySegment to serve the operation > requests. For some rare cases, two or more memory segments serve the > requests. There are many operations based on such a paradigm, for example, > {{BinaryString#matchAt}}, {{SegmentsUtil#copyToBytes}}, > {{LongHashPartition#MatchIterator#get}}, etc. > The problem is that, for memory segment array based operations, large amounts > of code is devoted to > 1. Computing the memory segment index & offset within the memory segment. > 2. Processing boundary cases. For example, to write an integer, there are > only 2 bytes left in the first memory segment, and the remaining 2 bytes must > be written to the next memory segment. > 3. Differentiate processing for short/long data. For example, when copying > memory data to a byte array. Different methods are implemented for cases when > 1) the data fits in a single segment; 2) the data spans multiple segments. > Therefore, there are much duplicated code to achieve above purposes. What is > worse, this paradigm significantly increases the amount of code, making the > code more difficult to read and maintain. Furthermore, it easily gives rise > to bugs which difficult to find and debug. > To address these problems, we propose a new type of memory segment: > {{ContainerMemorySegment}}. It is based on an array of underlying memory > segments with the same size. It extends from the {{MemorySegment}} base > class, so it provides all the functionalities provided by {{MemorySegment}}. > In addition, it hides all the details for dealing with specific memory > segments, and acts as if it were a big continuous memory region. > A prototype implementation is given below: > !image-2019-06-18-17-59-42-136.png|thumbnail! > With this new type of memory segment, many operations/algorithms can be > greatly simplified, without affecting performance. This is because, > 1. Many checks, boundary processing are already there. We just move them to > the new class. > 2. We optimize the implementation of the new class, so the special > optimizations (e.g. optimizations for short data) are still preserved. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] flinkbot commented on issue #8801: [hotfix][FLINK-12896][HistoryServer] modify :jobId key in TaskCheckpointStatisticDetailsHandler
flinkbot commented on issue #8801: [hotfix][FLINK-12896][HistoryServer] modify :jobId key in TaskCheckpointStatisticDetailsHandler URL: https://github.com/apache/flink/pull/8801#issuecomment-503835553 Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community to review your pull request. We will use this comment to track the progress of the review. ## Review Progress * ❓ 1. The [description] looks good. * ❓ 2. There is [consensus] that the contribution should go into to Flink. * ❓ 3. Needs [attention] from. * ❓ 4. The change fits into the overall [architecture]. * ❓ 5. Overall code [quality] is good. Please see the [Pull Request Review Guide](https://flink.apache.org/reviewing-prs.html) for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands The @flinkbot bot supports the following commands: - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`) - `@flinkbot approve all` to approve all aspects - `@flinkbot approve-until architecture` to approve everything until `architecture` - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention - `@flinkbot disapprove architecture` to remove an approval you gave earlier This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Updated] (FLINK-12896) Missing some information in History Server
[ https://issues.apache.org/jira/browse/FLINK-12896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated FLINK-12896: --- Labels: pull-request-available (was: ) > Missing some information in History Server > -- > > Key: FLINK-12896 > URL: https://issues.apache.org/jira/browse/FLINK-12896 > Project: Flink > Issue Type: Bug >Reporter: xymaqingxiang >Priority: Major > Labels: pull-request-available > Attachments: image-2019-06-19-15-32-15-994.png, > image-2019-06-19-15-33-12-243.png, image-2019-06-19-15-40-08-481.png, > image-2019-06-19-15-41-48-051.png > > > There are three bugs, as follows: > 1. could not found the metrics for vertices. > !image-2019-06-19-15-33-12-243.png! > 2. could not found the checkpoint details for subtasks. > !image-2019-06-19-15-32-15-994.png! > 3. The jobs directory has an exception: job directory, the ArchivedJson we > get in FsJobArchivist is wrong. > !image-2019-06-19-15-40-08-481.png! > !image-2019-06-19-15-41-48-051.png! > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] maqingxiang opened a new pull request #8801: [hotfix][FLINK-12896][HistoryServer] modify :jobId key in TaskCheckpointStatisticDetailsHandler
maqingxiang opened a new pull request #8801: [hotfix][FLINK-12896][HistoryServer] modify :jobId key in TaskCheckpointStatisticDetailsHandler URL: https://github.com/apache/flink/pull/8801 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] bowenli86 commented on issue #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
bowenli86 commented on issue #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#issuecomment-503830225 @lirui-apache Thanks for your contribution. Will merge once the CI passes This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] flinkbot commented on issue #8800: [FLINK-12627][doc][sql client][hive] Document how to configure and use catalogs in SQL CLI
flinkbot commented on issue #8800: [FLINK-12627][doc][sql client][hive] Document how to configure and use catalogs in SQL CLI URL: https://github.com/apache/flink/pull/8800#issuecomment-503830112 Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community to review your pull request. We will use this comment to track the progress of the review. ## Review Progress * ❓ 1. The [description] looks good. * ❓ 2. There is [consensus] that the contribution should go into to Flink. * ❓ 3. Needs [attention] from. * ❓ 4. The change fits into the overall [architecture]. * ❓ 5. Overall code [quality] is good. Please see the [Pull Request Review Guide](https://flink.apache.org/reviewing-prs.html) for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands The @flinkbot bot supports the following commands: - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`) - `@flinkbot approve all` to approve all aspects - `@flinkbot approve-until architecture` to approve everything until `architecture` - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention - `@flinkbot disapprove architecture` to remove an approval you gave earlier This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] bowenli86 opened a new pull request #8800: [FLINK-12627][doc][sql client][hive] Document how to configure and use catalogs in SQL CLI
bowenli86 opened a new pull request #8800: [FLINK-12627][doc][sql client][hive] Document how to configure and use catalogs in SQL CLI URL: https://github.com/apache/flink/pull/8800 ## What is the purpose of the change This PR adds English doc for configuring catalogs in SQL CLI. Chinese doc is in [FLINK-12894](https://issues.apache.org/jira/browse/FLINK-12894). ## Brief change log - adds document for configuring catalogs in SQL CLI. ## Verifying this change This change is a trivial rework / code cleanup without any test coverage. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (no) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no) - The serializers: (no) - The runtime per-record code paths (performance sensitive): (no) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no) - The S3 file system connector: (no) ## Documentation - Does this pull request introduce a new feature? (no) - If yes, how is the feature documented? (docs) This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Updated] (FLINK-12627) Document how to configure and use catalogs in SQL CLI
[ https://issues.apache.org/jira/browse/FLINK-12627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated FLINK-12627: --- Labels: pull-request-available (was: ) > Document how to configure and use catalogs in SQL CLI > - > > Key: FLINK-12627 > URL: https://issues.apache.org/jira/browse/FLINK-12627 > Project: Flink > Issue Type: Sub-task > Components: Connectors / Hive, Documentation, Table SQL / Client >Reporter: Bowen Li >Assignee: Bowen Li >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-12847) Update Kinesis Connectors to latest Apache licensed libraries
[ https://issues.apache.org/jira/browse/FLINK-12847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868227#comment-16868227 ] Bowen Li commented on FLINK-12847: -- [~dyanarose] Thanks for your contribution! I'm currently busy with other features in release 1.9, and also given that this work heavily relies on licenses updates from AWS side, I won't be able to review the changes before licenses of all kinesis connector's dependencies have been updated to Apache 2.0 and their new releases are officially published. > Update Kinesis Connectors to latest Apache licensed libraries > - > > Key: FLINK-12847 > URL: https://issues.apache.org/jira/browse/FLINK-12847 > Project: Flink > Issue Type: Improvement > Components: Connectors / Kinesis >Reporter: Dyana Rose >Assignee: Dyana Rose >Priority: Major > > Currently the referenced Kinesis Client Library and Kinesis Producer Library > code in the flink-connector-kinesis is licensed under the Amazon Software > License which is not compatible with the Apache License. This then requires a > fair amount of work in the CI pipeline and for users who want to use the > flink-connector-kinesis. > The Kinesis Client Library v2.x and the AWS Java SDK v2.x both are now on the > Apache 2.0 license. > [https://github.com/awslabs/amazon-kinesis-client/blob/master/LICENSE.txt] > [https://github.com/aws/aws-sdk-java-v2/blob/master/LICENSE.txt] > There is a PR for the Kinesis Producer Library to update it to the Apache 2.0 > license ([https://github.com/awslabs/amazon-kinesis-producer/pull/256]) > The task should include, but not limited to, upgrading KCL/KPL to new > versions of Apache 2.0 license, changing licenses and NOTICE files in > flink-connector-kinesis, and adding flink-connector-kinesis to build, CI and > artifact publishing pipeline, updating the build profiles, updating > documentation that references the license incompatibility > The expected outcome of this issue is that the flink-connector-kinesis will > be included with the standard build artifacts and will no longer need to be > built separately by users. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-12848) Method equals() in RowTypeInfo should consider fieldsNames
[ https://issues.apache.org/jira/browse/FLINK-12848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868224#comment-16868224 ] aloyszhang commented on FLINK-12848: Hi Enrico, Simple add the fieldNames to the equals method of RowTypeInfo is not safe. It will cause test failed in `ExternalCatalogInsertTest` because of some operator like `union` use equals in RowTypeInfo to determine whether the two input are the of same type. So I did not find a way to meet both tableEnv.scan() and union operator. And more , this problem does not appear in flink-1.9. > Method equals() in RowTypeInfo should consider fieldsNames > -- > > Key: FLINK-12848 > URL: https://issues.apache.org/jira/browse/FLINK-12848 > Project: Flink > Issue Type: Improvement >Affects Versions: 1.7.2 >Reporter: aloyszhang >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Since the `RowTypeInfo#equals()` does not consider the fieldNames , when > process data with RowTypeInfo type there may comes an error of the field > name. > {code:java} > String [] fields = new String []{"first", "second"}; > TypeInformation[] types = new TypeInformation[]{ > Types.ROW_NAMED(new String[]{"first001"}, Types.INT), > Types.ROW_NAMED(new String[]{"second002"}, Types.INT) }; > StreamExecutionEnvironment execEnv = > StreamExecutionEnvironment.getExecutionEnvironment(); > StreamTableEnvironment env = > StreamTableEnvironment.getTableEnvironment(execEnv); > SimpleProcessionTimeSource streamTableSource = new > SimpleProcessionTimeSource(fields, types); > env.registerTableSource("testSource", streamTableSource); > Table sourceTable = env.scan("testSource"); > System.out.println("Source table schema : "); > sourceTable.printSchema(); > {code} > The table shcema will be > {code:java} > Source table schema : > root > |-- first: Row(first001: Integer) > |-- second: Row(first001: Integer) > |-- timestamp: TimeIndicatorTypeInfo(proctime) > {code} > the second field has the same name with the first field. > So, we should consider the fieldnames in RowTypeInfo#equals() > > > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] klion26 commented on issue #8797: [Docks] Checkpoints: fix typo
klion26 commented on issue #8797: [Docks] Checkpoints: fix typo URL: https://github.com/apache/flink/pull/8797#issuecomment-503828052 @casidiablo thanks for your contribution, LGTM, could you please also update the `stream_checkpointing.zh.md` This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] sunhaibotb commented on issue #8731: [FLINK-11878][runtime] Implement the runtime handling of BoundedOneInput and BoundedMultiInput
sunhaibotb commented on issue #8731: [FLINK-11878][runtime] Implement the runtime handling of BoundedOneInput and BoundedMultiInput URL: https://github.com/apache/flink/pull/8731#issuecomment-503827844 The comments were addressed, and the PR has been updated. @pnowojski This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Commented] (FLINK-12849) Add support for build Python Docs in Buildbot
[ https://issues.apache.org/jira/browse/FLINK-12849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868215#comment-16868215 ] sunjincheng commented on FLINK-12849: - Yes, I had added the file exists check, in Committed revision 1046594. But I found that there a write permissions problem, I am checking it now, and will add new commit after fixed the bug. > Add support for build Python Docs in Buildbot > - > > Key: FLINK-12849 > URL: https://issues.apache.org/jira/browse/FLINK-12849 > Project: Flink > Issue Type: Sub-task > Components: API / Python, Build System >Affects Versions: 1.9.0 >Reporter: sunjincheng >Assignee: sunjincheng >Priority: Major > Attachments: image-2019-06-14-16-14-35-439.png, python_docs.patch > > > We should add the Python Doc for Python API, and add the link to the web > page. i.e.: > !image-2019-06-14-16-14-35-439.png! > In FLINK-12720 we will add how to generate the Python Docs, and in this PR we > should add support for build Python Docs in Buildbot. We may need to modify > the build config: > [https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/flink.conf] > > the Wiki of how to change the Buildbot code: > [https://cwiki.apache.org/confluence/display/FLINK/Managing+Flink+Documentation] > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (FLINK-11947) Support MapState value schema evolution for RocksDB
[ https://issues.apache.org/jira/browse/FLINK-11947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tzu-Li (Gordon) Tai updated FLINK-11947: Fix Version/s: 1.9.0 > Support MapState value schema evolution for RocksDB > --- > > Key: FLINK-11947 > URL: https://issues.apache.org/jira/browse/FLINK-11947 > Project: Flink > Issue Type: Improvement > Components: API / Type Serialization System, Runtime / State Backends >Reporter: Tzu-Li (Gordon) Tai >Assignee: Congxian Qiu(klion26) >Priority: Critical > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Currently, we do not attempt to perform state schema evolution if the key or > value's schema of a user {{MapState}} has changed when using {{RocksDB}}: > https://github.com/apache/flink/blob/953a5ffcbdae4115f7d525f310723cf8770779df/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java#L542 > This was disallowed in the initial support for state schema evolution because > the way we did state evolution in the RocksDB state backend was simply > overwriting values. > For {{MapState}} key evolution, only overwriting RocksDB values does not > work, since RocksDB entries for {{MapState}} uses a composite key containing > the map state key. This means that when evolving {{MapState}} in this case > with an evolved key schema, we will have new entries. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (FLINK-11869) [checkpoint] Make buffer size in checkpoint stream factory configurable
[ https://issues.apache.org/jira/browse/FLINK-11869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tzu-Li (Gordon) Tai resolved FLINK-11869. - Resolution: Fixed Merged for 1.9.0: bc5e8a77aa3419afc03c0751dd339e5027cf3664 > [checkpoint] Make buffer size in checkpoint stream factory configurable > --- > > Key: FLINK-11869 > URL: https://issues.apache.org/jira/browse/FLINK-11869 > Project: Flink > Issue Type: Improvement > Components: Runtime / Checkpointing >Reporter: Yun Tang >Assignee: Yun Tang >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 40m > Remaining Estimate: 0h > > Currently, the default buffer size for {{FsCheckpointStateOutputStream}} is > only 4KB. This would case a lot of IOPS if stream is large. Unfortunately, > when user want to checkpoint on a totally disaggregated file system which has > no data node manager running in local machine, they might have a IOPS limit > or cannot serve too many IOPS at a time. This would cause the checkpoint > duration really large and might expire often. > If we want to increase this buffer size, we have to increase the > {{fileStateThreshold}} to indirectly increase the buffer size. However, as we > all know, too many not-so-small {{ByteStreamStateHandle}} returned to > checkpoint coordinator would easily cause job manager OOM and checkpoint meta > file large. > We should also make the buffer size configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (FLINK-11947) Support MapState value schema evolution for RocksDB
[ https://issues.apache.org/jira/browse/FLINK-11947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tzu-Li (Gordon) Tai resolved FLINK-11947. - Resolution: Fixed > Support MapState value schema evolution for RocksDB > --- > > Key: FLINK-11947 > URL: https://issues.apache.org/jira/browse/FLINK-11947 > Project: Flink > Issue Type: Improvement > Components: API / Type Serialization System, Runtime / State Backends >Reporter: Tzu-Li (Gordon) Tai >Assignee: Congxian Qiu(klion26) >Priority: Critical > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Currently, we do not attempt to perform state schema evolution if the key or > value's schema of a user {{MapState}} has changed when using {{RocksDB}}: > https://github.com/apache/flink/blob/953a5ffcbdae4115f7d525f310723cf8770779df/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java#L542 > This was disallowed in the initial support for state schema evolution because > the way we did state evolution in the RocksDB state backend was simply > overwriting values. > For {{MapState}} key evolution, only overwriting RocksDB values does not > work, since RocksDB entries for {{MapState}} uses a composite key containing > the map state key. This means that when evolving {{MapState}} in this case > with an evolved key schema, we will have new entries. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-11947) Support MapState value schema evolution for RocksDB
[ https://issues.apache.org/jira/browse/FLINK-11947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868193#comment-16868193 ] Tzu-Li (Gordon) Tai commented on FLINK-11947: - Merged for 1.9.0: 829146d516751a592c3ab15908baebfd13429e8e > Support MapState value schema evolution for RocksDB > --- > > Key: FLINK-11947 > URL: https://issues.apache.org/jira/browse/FLINK-11947 > Project: Flink > Issue Type: Improvement > Components: API / Type Serialization System, Runtime / State Backends >Reporter: Tzu-Li (Gordon) Tai >Assignee: Congxian Qiu(klion26) >Priority: Critical > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > Currently, we do not attempt to perform state schema evolution if the key or > value's schema of a user {{MapState}} has changed when using {{RocksDB}}: > https://github.com/apache/flink/blob/953a5ffcbdae4115f7d525f310723cf8770779df/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java#L542 > This was disallowed in the initial support for state schema evolution because > the way we did state evolution in the RocksDB state backend was simply > overwriting values. > For {{MapState}} key evolution, only overwriting RocksDB values does not > work, since RocksDB entries for {{MapState}} uses a composite key containing > the map state key. This means that when evolving {{MapState}} in this case > with an evolved key schema, we will have new entries. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] lirui-apache commented on a change in pull request #8695: [FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and Overwrit
lirui-apache commented on a change in pull request #8695: [FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and OverwritableTableSink URL: https://github.com/apache/flink/pull/8695#discussion_r295593755 ## File path: flink-table/flink-table-common/src/main/java/org/apache/flink/table/sinks/PartitionableTableSink.java ## @@ -0,0 +1,71 @@ +/* + * 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.flink.table.sinks; + +import java.util.List; +import java.util.Map; + +/** + * An abstract class with trait about partitionable table sink. This is mainly used for Review comment: I guess we can remove that statement, since we'll support dynamic partitioning in Flink. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] lirui-apache commented on a change in pull request #8695: [FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and Overwrit
lirui-apache commented on a change in pull request #8695: [FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and OverwritableTableSink URL: https://github.com/apache/flink/pull/8695#discussion_r295595082 ## File path: flink-table/flink-table-common/src/main/java/org/apache/flink/table/sinks/PartitionableTableSink.java ## @@ -0,0 +1,71 @@ +/* + * 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.flink.table.sinks; + +import java.util.List; +import java.util.Map; + +/** + * An abstract class with trait about partitionable table sink. This is mainly used for + * static partitions. For sql statement: + * + * + * INSERT INTO A PARTITION(a='ab', b='cd') select c, d from B + * + * + * We Assume the A has partition columns as , ,. + * The columns and are called static partition columns, while c is called Review comment: I think we should give the definition of table `A` if we intend to offer a valid example. It's true the dynamic column should appear last, but the column names in `SELECT` don't have to be the same as the column names in the destination table -- so it's hard to tell w/o a DDL :) This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] flinkbot commented on issue #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
flinkbot commented on issue #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799#issuecomment-503816730 Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community to review your pull request. We will use this comment to track the progress of the review. ## Review Progress * ❓ 1. The [description] looks good. * ❓ 2. There is [consensus] that the contribution should go into to Flink. * ❓ 3. Needs [attention] from. * ❓ 4. The change fits into the overall [architecture]. * ❓ 5. Overall code [quality] is good. Please see the [Pull Request Review Guide](https://flink.apache.org/reviewing-prs.html) for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands The @flinkbot bot supports the following commands: - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`) - `@flinkbot approve all` to approve all aspects - `@flinkbot approve-until architecture` to approve everything until `architecture` - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention - `@flinkbot disapprove architecture` to remove an approval you gave earlier This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Updated] (FLINK-11612) Translate the "Project Template for Java" page into Chinese
[ https://issues.apache.org/jira/browse/FLINK-11612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated FLINK-11612: --- Labels: pull-request-available (was: ) > Translate the "Project Template for Java" page into Chinese > --- > > Key: FLINK-11612 > URL: https://issues.apache.org/jira/browse/FLINK-11612 > Project: Flink > Issue Type: Sub-task > Components: chinese-translation, Documentation >Reporter: Jark Wu >Assignee: Jasper Yue >Priority: Major > Labels: pull-request-available > > The page url is > https://ci.apache.org/projects/flink/flink-docs-master/dev/projectsetup/java_api_quickstart.html > The markdown file is located in > flink/docs/dev/projectsetup/java_api_quickstart.zh.md > The markdown file will be created once FLINK-11529 is merged. > You can reference the translation from : > https://github.com/flink-china/1.6.0/blob/master/quickstart/java_api_quickstart.md -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] yuezhuangshi opened a new pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje…
yuezhuangshi opened a new pull request #8799: [FLINK-11612][chinese-translation,Documentation] Translate the "Proje… URL: https://github.com/apache/flink/pull/8799 ## What is the purpose of the change This pull request completes the Chinese translation of "Project Template for Java" page from official document. ## Brief change log - *Translate the "Project Template for Java" page into Chinese* ## Verifying this change This change is to add a new translated document. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): no - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no - The serializers: no - The runtime per-record code paths (performance sensitive): no - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? no This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] leesf closed pull request #8159: [hotfix][runtime] fix error log description
leesf closed pull request #8159: [hotfix][runtime] fix error log description URL: https://github.com/apache/flink/pull/8159 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] asfgit closed pull request #8686: [FLINK-11869] Make buffer size in checkpoint stream factory configurable
asfgit closed pull request #8686: [FLINK-11869] Make buffer size in checkpoint stream factory configurable URL: https://github.com/apache/flink/pull/8686 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] asfgit closed pull request #8565: [FLINK-11947] Support MapState value schema evolution for RocksDB
asfgit closed pull request #8565: [FLINK-11947] Support MapState value schema evolution for RocksDB URL: https://github.com/apache/flink/pull/8565 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Commented] (FLINK-12846) Carry primary key and unique key information in TableSchema
[ https://issues.apache.org/jira/browse/FLINK-12846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868170#comment-16868170 ] Hequn Cheng commented on FLINK-12846: - +1 for adding the key information! Primary key and unique key are part of TableSchema and they are very helpful for the optimization. BTW, how are we going to add the key infos? We may also need to consider other information, like column nullable and computed column in order not to make the TableSchema becoming more and more mussy. What do you think? Best, Hequn > Carry primary key and unique key information in TableSchema > --- > > Key: FLINK-12846 > URL: https://issues.apache.org/jira/browse/FLINK-12846 > Project: Flink > Issue Type: New Feature > Components: Table SQL / API >Reporter: Jark Wu >Assignee: Jark Wu >Priority: Major > Fix For: 1.9.0 > > > The primary key and unique key is a standard meta information in SQL. And > they are important information for optimization, for example, > AggregateRemove, AggregateReduceGrouping and state layout optimization for > TopN and Join. > So in this issue, we want to extend {{TableSchema}} to carry more information > about primary key and unique keys. So that the TableSource can declare this > meta information. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (FLINK-11612) Translate the "Project Template for Java" page into Chinese
[ https://issues.apache.org/jira/browse/FLINK-11612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jasper Yue reassigned FLINK-11612: -- Assignee: Jasper Yue (was: LakeShen) > Translate the "Project Template for Java" page into Chinese > --- > > Key: FLINK-11612 > URL: https://issues.apache.org/jira/browse/FLINK-11612 > Project: Flink > Issue Type: Sub-task > Components: chinese-translation, Documentation >Reporter: Jark Wu >Assignee: Jasper Yue >Priority: Major > > The page url is > https://ci.apache.org/projects/flink/flink-docs-master/dev/projectsetup/java_api_quickstart.html > The markdown file is located in > flink/docs/dev/projectsetup/java_api_quickstart.zh.md > The markdown file will be created once FLINK-11529 is merged. > You can reference the translation from : > https://github.com/flink-china/1.6.0/blob/master/quickstart/java_api_quickstart.md -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-11612) Translate the "Project Template for Java" page into Chinese
[ https://issues.apache.org/jira/browse/FLINK-11612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868158#comment-16868158 ] Jark Wu commented on FLINK-11612: - [~yuetongshu], sure, I think it's fine. > Translate the "Project Template for Java" page into Chinese > --- > > Key: FLINK-11612 > URL: https://issues.apache.org/jira/browse/FLINK-11612 > Project: Flink > Issue Type: Sub-task > Components: chinese-translation, Documentation >Reporter: Jark Wu >Assignee: LakeShen >Priority: Major > > The page url is > https://ci.apache.org/projects/flink/flink-docs-master/dev/projectsetup/java_api_quickstart.html > The markdown file is located in > flink/docs/dev/projectsetup/java_api_quickstart.zh.md > The markdown file will be created once FLINK-11529 is merged. > You can reference the translation from : > https://github.com/flink-china/1.6.0/blob/master/quickstart/java_api_quickstart.md -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (FLINK-12907) flink-table-planner-blink fails to compile with scala 2.12
[ https://issues.apache.org/jira/browse/FLINK-12907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jark Wu closed FLINK-12907. --- Resolution: Fixed Assignee: Jark Wu Fixed in 1.9.0: 671ac182e514500c5f2b430877c6ac30b26e6ec7 > flink-table-planner-blink fails to compile with scala 2.12 > -- > > Key: FLINK-12907 > URL: https://issues.apache.org/jira/browse/FLINK-12907 > Project: Flink > Issue Type: Bug > Components: Table SQL / Planner >Affects Versions: 1.9.0 >Reporter: Dawid Wysakowicz >Assignee: Jark Wu >Priority: Blocker > Fix For: 1.9.0 > > > {code} > 14:03:15.204 [ERROR] > /home/travis/build/apache/flink/flink-table/flink-table-planner-blink/src/test/scala/org/apache/flink/table/plan/nodes/resource/ExecNodeResourceTest.scala:269: > error: overriding method getOutputType in trait TableSink of type > ()org.apache.flink.api.common.typeinfo.TypeInformation[org.apache.flink.table.dataformat.BaseRow]; > 14:03:15.204 [ERROR] method getOutputType needs `override' modifier > 14:03:15.204 [ERROR] @deprecated def getOutputType: > TypeInformation[BaseRow] = { > 14:03:15.204 [ERROR] ^ > 14:03:15.217 [ERROR] > /home/travis/build/apache/flink/flink-table/flink-table-planner-blink/src/test/scala/org/apache/flink/table/plan/nodes/resource/ExecNodeResourceTest.scala:275: > error: overriding method getFieldNames in trait TableSink of type > ()Array[String]; > 14:03:15.217 [ERROR] method getFieldNames needs `override' modifier > 14:03:15.217 [ERROR] @deprecated def getFieldNames: Array[String] = > schema.getFieldNames > 14:03:15.217 [ERROR] ^ > 14:03:15.219 [ERROR] > /home/travis/build/apache/flink/flink-table/flink-table-planner-blink/src/test/scala/org/apache/flink/table/plan/nodes/resource/ExecNodeResourceTest.scala:280: > error: overriding method getFieldTypes in trait TableSink of type > ()Array[org.apache.flink.api.common.typeinfo.TypeInformation[_]]; > 14:03:15.219 [ERROR] method getFieldTypes needs `override' modifier > 14:03:15.219 [ERROR] @deprecated def getFieldTypes: > Array[TypeInformation[_]] = schema.getFieldTypes > {code} > https://api.travis-ci.org/v3/job/547655787/log.txt -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (FLINK-10348) Solve data skew when consuming data from kafka
[ https://issues.apache.org/jira/browse/FLINK-10348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiayi Liao closed FLINK-10348. -- Resolution: Not A Problem > Solve data skew when consuming data from kafka > -- > > Key: FLINK-10348 > URL: https://issues.apache.org/jira/browse/FLINK-10348 > Project: Flink > Issue Type: New Feature > Components: Connectors / Kafka >Affects Versions: 1.6.0 >Reporter: Jiayi Liao >Assignee: Jiayi Liao >Priority: Major > > By using KafkaConsumer, our strategy is to send fetch request to brokers with > a fixed fetch size. Assume x topic has n partition and there exists data skew > between partitions, now we need to consume data from x topic with earliest > offset, and we can get max fetch size data in every fetch request. The > problem is that when an task consumes data from both "big" partitions and > "small" partitions, the data in "big" partitions may be late elements because > "small" partitions are consumed faster. > *Solution: * > I think we can leverage two parameters to control this. > 1. data.skew.check // whether to check data skew > 2. data.skew.check.interval // the interval between checks > Every data.skew.check.interval, we will check the latest offset of every > specific partition, and calculate (latest offset - current offset), then get > partitions which need to slow down and redefine their fetch size. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-11612) Translate the "Project Template for Java" page into Chinese
[ https://issues.apache.org/jira/browse/FLINK-11612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868141#comment-16868141 ] Jasper Yue commented on FLINK-11612: Hi [~jark], can I assign this issue to me? > Translate the "Project Template for Java" page into Chinese > --- > > Key: FLINK-11612 > URL: https://issues.apache.org/jira/browse/FLINK-11612 > Project: Flink > Issue Type: Sub-task > Components: chinese-translation, Documentation >Reporter: Jark Wu >Assignee: LakeShen >Priority: Major > > The page url is > https://ci.apache.org/projects/flink/flink-docs-master/dev/projectsetup/java_api_quickstart.html > The markdown file is located in > flink/docs/dev/projectsetup/java_api_quickstart.zh.md > The markdown file will be created once FLINK-11529 is merged. > You can reference the translation from : > https://github.com/flink-china/1.6.0/blob/master/quickstart/java_api_quickstart.md -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] flinkbot commented on issue #8798: [FLINK-12659][hive] Integrate Flink with Hive GenericUDTF
flinkbot commented on issue #8798: [FLINK-12659][hive] Integrate Flink with Hive GenericUDTF URL: https://github.com/apache/flink/pull/8798#issuecomment-503786750 Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community to review your pull request. We will use this comment to track the progress of the review. ## Review Progress * ❓ 1. The [description] looks good. * ❓ 2. There is [consensus] that the contribution should go into to Flink. * ❓ 3. Needs [attention] from. * ❓ 4. The change fits into the overall [architecture]. * ❓ 5. Overall code [quality] is good. Please see the [Pull Request Review Guide](https://flink.apache.org/reviewing-prs.html) for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands The @flinkbot bot supports the following commands: - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`) - `@flinkbot approve all` to approve all aspects - `@flinkbot approve-until architecture` to approve everything until `architecture` - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention - `@flinkbot disapprove architecture` to remove an approval you gave earlier This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] bowenli86 commented on issue #8798: [FLINK-12659][hive] Integrate Flink with Hive GenericUDTF
bowenli86 commented on issue #8798: [FLINK-12659][hive] Integrate Flink with Hive GenericUDTF URL: https://github.com/apache/flink/pull/8798#issuecomment-503786615 cc @xuefuz @JingsongLi @lirui-apache @zjuwangg This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Updated] (FLINK-12659) Integrate Flink with Hive GenericUDTF
[ https://issues.apache.org/jira/browse/FLINK-12659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated FLINK-12659: --- Labels: pull-request-available (was: ) > Integrate Flink with Hive GenericUDTF > - > > Key: FLINK-12659 > URL: https://issues.apache.org/jira/browse/FLINK-12659 > Project: Flink > Issue Type: Sub-task > Components: Connectors / Hive >Reporter: Bowen Li >Assignee: Bowen Li >Priority: Major > Labels: pull-request-available > > https://hive.apache.org/javadocs/r3.1.1/api/org/apache/hadoop/hive/ql/udf/generic/GenericUDTF.html -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] bowenli86 opened a new pull request #8798: [FLINK-12659][hive] Integrate Flink with Hive GenericUDTF
bowenli86 opened a new pull request #8798: [FLINK-12659][hive] Integrate Flink with Hive GenericUDTF URL: https://github.com/apache/flink/pull/8798 ## What is the purpose of the change This PR integrates Flink with Hive GenericUDTF. ## Brief change log - added `HiveGenericUDTF` to delegate function calls to Hive's GenericUDTF - extracted a few util methods to `HiveFunctionUtil` - added unit tests for `HiveGenericUDTF` ## Verifying this change This change added tests and can be verified as `HiveGenericUDTFTest` ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (no) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no) - The serializers: (no) - The runtime per-record code paths (performance sensitive): (no) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no) - The S3 file system connector: (no) ## Documentation - Does this pull request introduce a new feature? (yes) - If yes, how is the feature documented? (docs) Documentation will be added later This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] walterddr commented on a change in pull request #8632: [FLINK-12744][ml] add shared params in ml package
walterddr commented on a change in pull request #8632: [FLINK-12744][ml] add shared params in ml package URL: https://github.com/apache/flink/pull/8632#discussion_r295563061 ## File path: flink-ml-parent/flink-ml-lib/src/main/java/org/apache/flink/ml/params/shared/colname/HasKeepColNames.java ## @@ -0,0 +1,44 @@ +/* + * 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.flink.ml.params.shared.colname; + +import org.apache.flink.ml.api.misc.param.ParamInfo; +import org.apache.flink.ml.api.misc.param.ParamInfoFactory; +import org.apache.flink.ml.api.misc.param.WithParams; + +/** + * An interface for classes with a parameter specifying the names of the columns to be retained in the output table. Review comment: my suggestion was following the convention of [RowTypeInfo](https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/api/java/typeutils/RowTypeInfo.java). which IMO most of the table schema is defined against. but either works fine. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] bowenli86 commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/…
bowenli86 commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/… URL: https://github.com/apache/flink/pull/8785#discussion_r295561400 ## File path: flink-table/flink-table-planner/src/main/java/org/apache/flink/table/catalog/DatabaseCalciteSchema.java ## @@ -77,6 +84,23 @@ public Table getTable(String tableName) { !connectorTable.isBatch(), FlinkStatistic.of(tableSource.getTableStats().orElse(null .orElseThrow(() -> new TableException("Cannot query a sink only table.")); + } else if (table instanceof CatalogTable) { + Optional tableFactory = catalog.getTableFactory(); + TableSource tableSource = tableFactory.map(tf -> ((TableSourceFactory) tf).createTableSource((CatalogTable) table)) Review comment: nice, I didn't know map() can be applied to Optional objects This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] xuefuz commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/…
xuefuz commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/… URL: https://github.com/apache/flink/pull/8785#discussion_r295548810 ## File path: flink-table/flink-table-planner/src/main/java/org/apache/flink/table/catalog/DatabaseCalciteSchema.java ## @@ -77,6 +84,23 @@ public Table getTable(String tableName) { !connectorTable.isBatch(), FlinkStatistic.of(tableSource.getTableStats().orElse(null .orElseThrow(() -> new TableException("Cannot query a sink only table.")); + } else if (table instanceof CatalogTable) { + Optional tableFactory = catalog.getTableFactory(); + TableSource tableSource = tableFactory.map(tf -> ((TableSourceFactory) tf).createTableSource((CatalogTable) table)) + .orElse(TableFactoryUtil.findAndCreateTableSource(((CatalogTable) table).toProperties())); + + if (!(tableSource instanceof StreamTableSource)) { Review comment: The message was from Dawid's change. I didn't add it. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] xuefuz commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/…
xuefuz commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/… URL: https://github.com/apache/flink/pull/8785#discussion_r295537393 ## File path: flink-table/flink-table-planner/src/main/java/org/apache/flink/table/catalog/DatabaseCalciteSchema.java ## @@ -77,6 +84,23 @@ public Table getTable(String tableName) { !connectorTable.isBatch(), FlinkStatistic.of(tableSource.getTableStats().orElse(null .orElseThrow(() -> new TableException("Cannot query a sink only table.")); + } else if (table instanceof CatalogTable) { + Optional tableFactory = catalog.getTableFactory(); + TableSource tableSource = tableFactory.map(tf -> ((TableSourceFactory) tf).createTableSource((CatalogTable) table)) Review comment: map() is applied to an Optional object, so the key (tf) is a TableFactory instance. As you can see from other types of tables, calcite seems only need TableSource. If tableFactory isn't present, then orElse() clause kicks in. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] xuefuz commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/…
xuefuz commented on a change in pull request #8785: [FLINK-11480][hive] Create HiveTableFactory that creates TableSource/… URL: https://github.com/apache/flink/pull/8785#discussion_r295537393 ## File path: flink-table/flink-table-planner/src/main/java/org/apache/flink/table/catalog/DatabaseCalciteSchema.java ## @@ -77,6 +84,23 @@ public Table getTable(String tableName) { !connectorTable.isBatch(), FlinkStatistic.of(tableSource.getTableStats().orElse(null .orElseThrow(() -> new TableException("Cannot query a sink only table.")); + } else if (table instanceof CatalogTable) { + Optional tableFactory = catalog.getTableFactory(); + TableSource tableSource = tableFactory.map(tf -> ((TableSourceFactory) tf).createTableSource((CatalogTable) table)) Review comment: map() is applied to an Optional object, so the key (tf) is a TableFactory instance. As you can see from other types of tables, calcite seems only need TableSource. If tableFactory isn't present, then orElse() clause kicks in. The test verifies that. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Commented] (FLINK-12848) Method equals() in RowTypeInfo should consider fieldsNames
[ https://issues.apache.org/jira/browse/FLINK-12848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868029#comment-16868029 ] Enrico Canzonieri commented on FLINK-12848: --- This is causing issues to one of our queries where the schema has two nested records that have two fields of the same type but different name, e.g. Row(Row(a: Int, b: Int), Row(c: Int, d:Int)) where "a", "b", "c", "d" are the field names. The code in [https://github.com/apache/flink/blob/master/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/calcite/FlinkTypeFactory.scala#L92|https://github.com/apache/flink/blob/master/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/calcite/FlinkTypeFactory.scala#L92)] that is caching the Type conversion is returning the for Row(c: Int, d: Int) the conversion cached for the first nested Row. As result the generated table schema will have mixed up (and clashing) field names. I see that the equals() change to RowTypeInfo was introduced in FLINK-9444. Is there any reason why we should never consider the field names for RowTypeInfo equals? If so would it make sense to have a method that covers that special (to my understanding) case and make equals also include names? I'm currently planning to fix this locally by extending the equals method of RowTypeInfo, but it'd be great to know whether that's safe to do or not. > Method equals() in RowTypeInfo should consider fieldsNames > -- > > Key: FLINK-12848 > URL: https://issues.apache.org/jira/browse/FLINK-12848 > Project: Flink > Issue Type: Improvement >Affects Versions: 1.7.2 >Reporter: aloyszhang >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Since the `RowTypeInfo#equals()` does not consider the fieldNames , when > process data with RowTypeInfo type there may comes an error of the field > name. > {code:java} > String [] fields = new String []{"first", "second"}; > TypeInformation[] types = new TypeInformation[]{ > Types.ROW_NAMED(new String[]{"first001"}, Types.INT), > Types.ROW_NAMED(new String[]{"second002"}, Types.INT) }; > StreamExecutionEnvironment execEnv = > StreamExecutionEnvironment.getExecutionEnvironment(); > StreamTableEnvironment env = > StreamTableEnvironment.getTableEnvironment(execEnv); > SimpleProcessionTimeSource streamTableSource = new > SimpleProcessionTimeSource(fields, types); > env.registerTableSource("testSource", streamTableSource); > Table sourceTable = env.scan("testSource"); > System.out.println("Source table schema : "); > sourceTable.printSchema(); > {code} > The table shcema will be > {code:java} > Source table schema : > root > |-- first: Row(first001: Integer) > |-- second: Row(first001: Integer) > |-- timestamp: TimeIndicatorTypeInfo(proctime) > {code} > the second field has the same name with the first field. > So, we should consider the fieldnames in RowTypeInfo#equals() > > > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] asfgit closed pull request #8770: [FLINK-12658][hive] Integrate Flink with Hive GenericUDF
asfgit closed pull request #8770: [FLINK-12658][hive] Integrate Flink with Hive GenericUDF URL: https://github.com/apache/flink/pull/8770 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Closed] (FLINK-12658) Integrate Flink with Hive GenericUDF
[ https://issues.apache.org/jira/browse/FLINK-12658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bowen Li closed FLINK-12658. Resolution: Fixed merged in 1.9.0: 6f89f3d0720823019e3200a4eb572f7281657344 > Integrate Flink with Hive GenericUDF > > > Key: FLINK-12658 > URL: https://issues.apache.org/jira/browse/FLINK-12658 > Project: Flink > Issue Type: Sub-task > Components: Connectors / Hive >Reporter: Bowen Li >Assignee: Bowen Li >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 10m > Remaining Estimate: 0h > > https://hive.apache.org/javadocs/r3.1.1/api/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.html -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] bowenli86 commented on issue #8770: [FLINK-12658][hive] Integrate Flink with Hive GenericUDF
bowenli86 commented on issue #8770: [FLINK-12658][hive] Integrate Flink with Hive GenericUDF URL: https://github.com/apache/flink/pull/8770#issuecomment-503735850 @xuefuz Thanks for your review! Merging This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] vim345 commented on issue #8737: [FLINK-12848][core] Consider fieldNames in RowTypeInfo#equals()
vim345 commented on issue #8737: [FLINK-12848][core] Consider fieldNames in RowTypeInfo#equals() URL: https://github.com/apache/flink/pull/8737#issuecomment-503735121 @aloyszhang Is there any reasons you didn't merge this PR? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] ex00 commented on issue #8632: [FLINK-12744][ml] add shared params in ml package
ex00 commented on issue #8632: [FLINK-12744][ml] add shared params in ml package URL: https://github.com/apache/flink/pull/8632#issuecomment-503721142 Thanks @xuyang1706 LGFM This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] ex00 commented on a change in pull request #8776: [FLINK-12881][ml] Add more functionalities for ML Params and ParamInfo class
ex00 commented on a change in pull request #8776: [FLINK-12881][ml] Add more functionalities for ML Params and ParamInfo class URL: https://github.com/apache/flink/pull/8776#discussion_r295493529 ## File path: flink-ml-parent/flink-ml-api/src/main/java/org/apache/flink/ml/api/misc/param/Params.java ## @@ -44,17 +86,39 @@ * @param the type of the specific parameter * @return the value of the specific parameter, or default value defined in the {@code info} if * this Params doesn't contain the parameter -* @throws RuntimeException if the Params doesn't contains the specific parameter, while the -* param is not optional but has no default value in the {@code info} +* @throws IllegalArgumentException if the Params doesn't contains the specific parameter, while the +* param is not optional but has no default value in the {@code info} or +* if the Params contains the specific parameter and alias, but has more +* than one value or +* if the Params doesn't contains the specific parameter, while the ParamInfo +* is optional but has no default value */ - @SuppressWarnings("unchecked") public V get(ParamInfo info) { - V value = (V) paramMap.getOrDefault(info.getName(), info.getDefaultValue()); - if (value == null && !info.isOptional() && !info.hasDefaultValue()) { - throw new RuntimeException(info.getName() + - " not exist which is not optional and don't have a default value"); + String value = null; + String usedParamName = null; + for (String nameOrAlias : getParamNameAndAlias(info)) { + if (params.containsKey(nameOrAlias)) { + if (usedParamName != null) { + throw new IllegalArgumentException(String.format("Duplicate parameters of %s and %s", Review comment: Thanks This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] asfgit closed pull request #8786: [FLINK-12877][table][hive] Unify catalog database implementations
asfgit closed pull request #8786: [FLINK-12877][table][hive] Unify catalog database implementations URL: https://github.com/apache/flink/pull/8786 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[jira] [Closed] (FLINK-12877) Unify catalog database implementations
[ https://issues.apache.org/jira/browse/FLINK-12877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bowen Li closed FLINK-12877. Resolution: Fixed merged in 1.9.0: 3cf65b11237a2928273ce5675faf6b2900b0b76a > Unify catalog database implementations > -- > > Key: FLINK-12877 > URL: https://issues.apache.org/jira/browse/FLINK-12877 > Project: Flink > Issue Type: Sub-task > Components: Connectors / Hive, Table SQL / API >Reporter: Bowen Li >Assignee: Bowen Li >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 10m > Remaining Estimate: 0h > > per discussion in https://issues.apache.org/jira/browse/FLINK-12841 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] [flink] bowenli86 commented on issue #8786: [FLINK-12877][table][hive] Unify catalog database implementations
bowenli86 commented on issue #8786: [FLINK-12877][table][hive] Unify catalog database implementations URL: https://github.com/apache/flink/pull/8786#issuecomment-503686014 @xuefuz thanks for your review! Merging This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] bowenli86 commented on issue #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables
bowenli86 commented on issue #8766: [FLINK-12664][hive] Implement TableSink to write Hive tables URL: https://github.com/apache/flink/pull/8766#issuecomment-503682405 I don't have any other concerns. @xuefuz do you? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] bowenli86 commented on issue #8786: [FLINK-12877][table][hive] Unify catalog database implementations
bowenli86 commented on issue #8786: [FLINK-12877][table][hive] Unify catalog database implementations URL: https://github.com/apache/flink/pull/8786#issuecomment-503681013 @lirui-apache thanks for your review! After a discussion with @xuefuz, we felt it's not necessary to distinguish whether a database is generic or not. Thus I completely removed that part from the PR. @xuefuz can you take a look? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] flinkbot commented on issue #8797: [Docks] Checkpoints: fix typo
flinkbot commented on issue #8797: [Docks] Checkpoints: fix typo URL: https://github.com/apache/flink/pull/8797#issuecomment-503670139 Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community to review your pull request. We will use this comment to track the progress of the review. ## Review Progress * ❓ 1. The [description] looks good. * ❓ 2. There is [consensus] that the contribution should go into to Flink. * ❓ 3. Needs [attention] from. * ❓ 4. The change fits into the overall [architecture]. * ❓ 5. Overall code [quality] is good. Please see the [Pull Request Review Guide](https://flink.apache.org/reviewing-prs.html) for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands The @flinkbot bot supports the following commands: - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`) - `@flinkbot approve all` to approve all aspects - `@flinkbot approve-until architecture` to approve everything until `architecture` - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention - `@flinkbot disapprove architecture` to remove an approval you gave earlier This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] casidiablo opened a new pull request #8797: [Docks] Checkpoints: fix typo
casidiablo opened a new pull request #8797: [Docks] Checkpoints: fix typo URL: https://github.com/apache/flink/pull/8797 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] azagrebin commented on a change in pull request #8783: [FLINK-12863][FLINK-12865] Remove concurrency from HeartbeatManager(Sender)Impl
azagrebin commented on a change in pull request #8783: [FLINK-12863][FLINK-12865] Remove concurrency from HeartbeatManager(Sender)Impl URL: https://github.com/apache/flink/pull/8783#discussion_r295407861 ## File path: flink-runtime/src/test/java/org/apache/flink/runtime/heartbeat/TestingHeartbeatServices.java ## @@ -18,43 +18,18 @@ package org.apache.flink.runtime.heartbeat; -import org.apache.flink.runtime.clusterframework.types.ResourceID; import org.apache.flink.runtime.concurrent.ScheduledExecutor; -import org.apache.flink.runtime.testingUtils.TestingUtils; -import org.apache.flink.util.Preconditions; - -import org.slf4j.Logger; /** * A {@link HeartbeatServices} that allows the injection of a {@link ScheduledExecutor}. */ public class TestingHeartbeatServices extends HeartbeatServices { - private final ScheduledExecutor scheduledExecutorToUse; - - public TestingHeartbeatServices(long heartbeatInterval, long heartbeatTimeout, ScheduledExecutor scheduledExecutorToUse) { + public TestingHeartbeatServices(long heartbeatInterval, long heartbeatTimeout) { super(heartbeatInterval, heartbeatTimeout); - - this.scheduledExecutorToUse = Preconditions.checkNotNull(scheduledExecutorToUse); } public TestingHeartbeatServices() { - this(1000L, 1L, TestingUtils.defaultScheduledExecutor()); - } - - @Override - public HeartbeatManager createHeartbeatManagerSender( - ResourceID resourceId, - HeartbeatListener heartbeatListener, - ScheduledExecutor mainThreadExecutor, - Logger log) { - - return new HeartbeatManagerSenderImpl<>( - heartbeatInterval, - heartbeatTimeout, - resourceId, - heartbeatListener, - scheduledExecutorToUse, - log); + this(1000L, 1L); Review comment: seems this class is not needed any more or at least the comment is outdated This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] azagrebin commented on a change in pull request #8783: [FLINK-12863][FLINK-12865] Remove concurrency from HeartbeatManager(Sender)Impl
azagrebin commented on a change in pull request #8783: [FLINK-12863][FLINK-12865] Remove concurrency from HeartbeatManager(Sender)Impl URL: https://github.com/apache/flink/pull/8783#discussion_r295395850 ## File path: flink-runtime/src/main/java/org/apache/flink/runtime/heartbeat/HeartbeatManagerSenderImpl.java ## @@ -36,54 +34,43 @@ */ public class HeartbeatManagerSenderImpl extends HeartbeatManagerImpl implements Runnable { - private final ScheduledFuture triggerFuture; + private final long heartbeatPeriod; - public HeartbeatManagerSenderImpl( - long heartbeatPeriod, - long heartbeatTimeout, - ResourceID ownResourceID, - HeartbeatListener heartbeatListener, - ScheduledExecutor mainThreadExecutor, - Logger log) { + HeartbeatManagerSenderImpl( + long heartbeatPeriod, + long heartbeatTimeout, + ResourceID ownResourceID, + HeartbeatListener heartbeatListener, + ScheduledExecutor mainThreadExecutor, + Logger log) { Review comment: formatting This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [flink] azagrebin commented on a change in pull request #8783: [FLINK-12863][FLINK-12865] Remove concurrency from HeartbeatManager(Sender)Impl
azagrebin commented on a change in pull request #8783: [FLINK-12863][FLINK-12865] Remove concurrency from HeartbeatManager(Sender)Impl URL: https://github.com/apache/flink/pull/8783#discussion_r295380352 ## File path: flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorTest.java ## @@ -1898,4 +1998,22 @@ public SlotReport createSlotReport(ResourceID resourceId) { return slotReports.poll(); } } + + private static final class AllocateSlotNotifyingTaskSlotTable extends TaskSlotTable { + + private final OneShotLatch allocateSlotLatch; + + private AllocateSlotNotifyingTaskSlotTable(Collection resourceProfiles, TimerService timerService, OneShotLatch allocateSlotLatch) { Review comment: nit: I would avoid long lines for readability. Shorter lines are easier to read in reviews and comparing diffs and easier perceived in general. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services