[jira] [Created] (FLINK-24662) PyFlink sphinx check failed with "node class 'meta' is already registered, its visitors will be overridden"

2021-10-26 Thread Dian Fu (Jira)
Dian Fu created FLINK-24662:
---

 Summary: PyFlink sphinx check failed with "node class 'meta' is 
already registered, its visitors will be overridden"
 Key: FLINK-24662
 URL: https://issues.apache.org/jira/browse/FLINK-24662
 Project: Flink
  Issue Type: Bug
  Components: API / Python, Tests
Affects Versions: 1.14.0, 1.13.0, 1.15.0
Reporter: Dian Fu
Assignee: Dian Fu


[https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=25481=logs=9cada3cb-c1d3-5621-16da-0f718fb86602=8d78fe4f-d658-5c70-12f8-4921589024c3]

{code}
==mypy checks... [SUCCESS]===
Oct 26 22:08:34 rm -rf _build/*
Oct 26 22:08:34 /__w/1/s/flink-python/dev/.conda/bin/sphinx-build -b html -d 
_build/doctrees  -a -W . _build/html
Oct 26 22:08:34 Running Sphinx v2.4.4
Oct 26 22:08:34 
Oct 26 22:08:34 Warning, treated as error:
Oct 26 22:08:34 node class 'meta' is already registered, its visitors will be 
overridden
Oct 26 22:08:34 Makefile:76: recipe for target 'html' failed
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24661) ConfigOption add isSecret method to judge sensitive options

2021-10-26 Thread Ada Wong (Jira)
Ada Wong created FLINK-24661:


 Summary: ConfigOption add isSecret method to judge sensitive 
options
 Key: FLINK-24661
 URL: https://issues.apache.org/jira/browse/FLINK-24661
 Project: Flink
  Issue Type: Improvement
  Components: API / Core
Affects Versions: 1.13.3
Reporter: Ada Wong


Related ticket https://issues.apache.org/jira/browse/FLINK-24381

[~chesnay]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24660) Allow setting KafkaSubscriber in KafkaSourceBuilder

2021-10-26 Thread Mason Chen (Jira)
Mason Chen created FLINK-24660:
--

 Summary: Allow setting KafkaSubscriber in KafkaSourceBuilder
 Key: FLINK-24660
 URL: https://issues.apache.org/jira/browse/FLINK-24660
 Project: Flink
  Issue Type: Improvement
  Components: Connectors / Kafka
Affects Versions: 1.13.3, 1.14.0
Reporter: Mason Chen


Some users may have a different mechanism for subscribing the set of 
topics/partitions. The builder can allow user custom implementations of 
KafkaSubscriber



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24659) Two active miniCluster in RemoteBenchmarkBase

2021-10-26 Thread Anton Kalashnikov (Jira)
Anton Kalashnikov created FLINK-24659:
-

 Summary: Two active miniCluster in RemoteBenchmarkBase
 Key: FLINK-24659
 URL: https://issues.apache.org/jira/browse/FLINK-24659
 Project: Flink
  Issue Type: Bug
  Components: Benchmarks, Runtime / Network
Affects Versions: 1.14.0
Reporter: Anton Kalashnikov


It seems that all children of RemoteBenchmarkBase work incorrectly since they 
configure the environment for miniCluster from FlinkEnvironmentContext but in 
reality, they use miniCluster from RemoteBenchmarkBase. So it definitely we 
should remove one of them.

I think we can get rid of RemoteBenchmarkBase#miniCluster and use 
FlinkEnvironmentContext#miniCluster everywhere.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24658) Debug logs for buffer size calculation

2021-10-26 Thread Anton Kalashnikov (Jira)
Anton Kalashnikov created FLINK-24658:
-

 Summary: Debug logs for buffer size calculation
 Key: FLINK-24658
 URL: https://issues.apache.org/jira/browse/FLINK-24658
 Project: Flink
  Issue Type: Improvement
  Components: Runtime / Network
Affects Versions: 1.14.0
Reporter: Anton Kalashnikov


Since the buffer debloater recalculates buffer size based on several different 
parameters. It makes sense to add debug logging to print all of them in case of 
necessary debugging.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24657) Add metric of the total real size of input/output buffers queue

2021-10-26 Thread Anton Kalashnikov (Jira)
Anton Kalashnikov created FLINK-24657:
-

 Summary: Add metric of the total real size of input/output buffers 
queue 
 Key: FLINK-24657
 URL: https://issues.apache.org/jira/browse/FLINK-24657
 Project: Flink
  Issue Type: Improvement
  Components: Runtime / Network
Affects Versions: 1.14.0
Reporter: Anton Kalashnikov


Right now we have the metric of the length of input/output buffers queue but 
since buffer debloater has been introduced this metric is not always helpful 
because the real size of each buffer can be different. So it is an idea to add 
a new metric that shows the total size of buffers in the queue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Re: Flink sql client usability improvements

2021-10-26 Thread Jark Wu
Hi Sergey,

Welcome contributions! You can read the FLIP introduction [1] first.
I think FLIP-163 is a good example for you which is a SQL Client
improvement we made in 1.13.

[1]:
https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals
[2]:
https://cwiki.apache.org/confluence/display/FLINK/FLIP-163%3A+SQL+Client+Improvements

Best,
Jark

On Tue, 26 Oct 2021 at 20:09, Sergey Nuyanzin  wrote:

> Hello Flink community
>
> currently I work a bit with some regarding Flink sql client usability
> issues [1]
>
> I noticed that there could be a lot more usability improvement, that's why
> first I want to ask if it makes sense for the community to raise such a
> FLIP. And yes, I would like to contribute here.
>
> I'm asking because I'm not quite familiar with FLIP procedure
>
> Some options that I have in mind
> - Prompting on what is missed (bracket, end of multiline comment end etc.)
> - Syntax highlighting
> - Improved completion
> - Some more jline oob features
> - something else
>
> [1] https://issues.apache.org/jira/browse/FLINK-24592
> --
> Best regards,
> Sergey
>


[jira] [Created] (FLINK-24656) Add user document for Window Deduplication

2021-10-26 Thread JING ZHANG (Jira)
JING ZHANG created FLINK-24656:
--

 Summary: Add user document for Window Deduplication
 Key: FLINK-24656
 URL: https://issues.apache.org/jira/browse/FLINK-24656
 Project: Flink
  Issue Type: Sub-task
  Components: Documentation
Affects Versions: 1.15.0
Reporter: JING ZHANG






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Re: [NOTICE] flink-streaming-java no longer depends on Scala and lost it's suffix

2021-10-26 Thread Martijn Visser
This is an awesome accomplishment, many thanks!
Ideally we also manage to complete
https://issues.apache.org/jira/browse/FLINK-24427 for 1.15 to get Flink in
a much better shape for our Scala users.

On Tue, 26 Oct 2021 at 12:34, Arvid Heise  wrote:

> Awesome. Thank you very much for all the hard work!
>
> On Tue, Oct 26, 2021 at 1:06 AM Chesnay Schepler 
> wrote:
>
> > This time with proper formatting...
> >
> > flink-batch-sql-test
> > flink-cep
> > flink-cli-test
> > flink-clients
> > flink-connector-elasticsearch-base
> > flink-connector-elasticsearch5
> > flink-connector-elasticsearch6
> > flink-connector-elasticsearch7
> > flink-connector-gcp-pubsub
> > flink-connector-hbase-1.4
> > flink-connector-hbase-2.2
> > flink-connector-hbase-base
> > flink-connector-jdbc
> > flink-connector-kafka
> > flink-connector-kinesis
> > flink-connector-nifi
> > flink-connector-pulsar
> > flink-connector-rabbitmq
> > flink-connector-testing
> > flink-connector-twitter
> > flink-connector-wikiedits
> > flink-container
> > flink-distributed-cache-via-blob-test
> > flink-dstl-dfs
> > flink-gelly
> > flink-hadoop-bulk
> > flink-kubernetes
> > flink-parent-child-classloading-test-lib-package
> > flink-parent-child-classloading-test-program
> > flink-queryable-state-test
> > flink-runtime-web
> > flink-scala
> > flink-sql-connector-elasticsearch6
> > flink-sql-connector-elasticsearch7
> > flink-sql-connector-hbase-1.4
> > flink-sql-connector-hbase-2.2
> > flink-sql-connector-kafka
> > flink-sql-connector-kinesis
> > flink-sql-connector-rabbitmq
> > flink-state-processor-api
> > flink-statebackend-rocksdb
> > flink-streaming-java
> > flink-streaming-kafka-test
> > flink-streaming-kafka-test-base
> > flink-streaming-kinesis-test
> > flink-table-api-java-bridge
> > flink-test-utils
> > flink-walkthrough-common
> > flink-yarn
> >
> >
> > On 26/10/2021 01:04, Chesnay Schepler wrote:
> > > Hello all,
> > >
> > > I just wanted to inform everyone that I just merged
> > > https://issues.apache.org/jira/browse/FLINK-24018, removing the
> > > transitive Scala dependencies from flink-streaming-java. This also
> > > means that the module lost it's Scala suffix, along with a lot of
> > > other modules.
> > >
> > > Please keep this mind this for a few days when adding Flink
> > > dependencies or new modules; it is quite likely that something has
> > > changed w.r.t. the Scala suffixes.
> > >
> > > For completeness sake, these are the module that lost the suffix:
> > >
> > > |flink-batch-sql-test flink-cep flink-cli-test flink-clients
> > > flink-connector-elasticsearch-base flink-connector-elasticsearch5
> > > flink-connector-elasticsearch6 flink-connector-elasticsearch7
> > > flink-connector-gcp-pubsub flink-connector-hbase-1.4
> > > flink-connector-hbase-2.2 flink-connector-hbase-base
> > > flink-connector-jdbc flink-connector-kafka flink-connector-kinesis
> > > flink-connector-nifi flink-connector-pulsar flink-connector-rabbitmq
> > > flink-connector-testing flink-connector-twitter
> > > flink-connector-wikiedits flink-container
> > > flink-distributed-cache-via-blob-test flink-dstl-dfs flink-gelly
> > > flink-hadoop-bulk flink-kubernetes
> > > flink-parent-child-classloading-test-lib-package
> > > flink-parent-child-classloading-test-program
> > > flink-queryable-state-test flink-runtime-web flink-scala
> > > flink-sql-connector-elasticsearch6 flink-sql-connector-elasticsearch7
> > > flink-sql-connector-hbase-1.4 flink-sql-connector-hbase-2.2
> > > flink-sql-connector-kafka flink-sql-connector-kinesis
> > > flink-sql-connector-rabbitmq flink-state-processor-api
> > > flink-statebackend-rocksdb flink-streaming-java
> > > flink-streaming-kafka-test flink-streaming-kafka-test-base
> > > flink-streaming-kinesis-test flink-table-api-java-bridge
> > > flink-test-utils flink-walkthrough-common flink-yarn|
> > >
> >
> >
>


Re: Shading in flink-table-blink and upgrade compatibility issue

2021-10-26 Thread Timo Walther

Hi Thomas,

thanks for your feedback.

The error that you are experiencing is definitely a bug in 1.13.3 and 
the missing method should be reintroduced in the next patch version to 
make code compiled against older patch versions run again.


Regarding the discussion points:

I agree that flink-table-blink uber jar should not contain a dependency 
to flink-connector-base. Even filesystem connectors should be optional 
and put in a dedicated module that is not in /lib by default.


With having the flink-table-blink uber jar in /lib we would like to 
improve the SQL experience as this API is as important as the DataStream 
API nowadays. But the depenencies should be minimal nevertheless.


Regards,
Timo


On 23.10.21 00:59, Thomas Weise wrote:

Hi,

As part of upgrading to Flink 1.13.3 from 1.13.2 we run into the
following problem with KafkaSource (Flink distribution is 1.13.2 and
the application was built with 1.13.3):

java.lang.NoSuchMethodError: 'void
org.apache.flink.connector.base.source.reader.fetcher.SingleThreadFetcherManager.(org.apache.flink.connector.base.source.reader.synchronization.FutureCompletingBlockingQueue,
java.util.function.Supplier, java.util.function.Consumer)'
at 
org.apache.flink.connector.kafka.source.reader.fetcher.KafkaSourceFetcherManager.(KafkaSourceFetcherManager.java:67)
at 
org.apache.flink.connector.kafka.source.KafkaSource.createReader(KafkaSource.java:160)
at 
org.apache.flink.connector.kafka.source.KafkaSource.createReader(KafkaSource.java:127)

It turns out that flink-table-blink_2.12-1.13.2.jar contains
flink-connector-base and because that jar is under lib the 1.13.2
connector base gets picked up instead of the one bundled in the
application jar.

(The constructor in
org.apache.flink.connector.base.source.reader.fetcher.SingleThreadFetcherManager
was added in 1.13.3.)

There are a few points I would like to discuss:

1) Version compatibility: A *patch* version should ideally not
introduce such a change, it should be forward and backward compatible.
Hopefully this will be the case after 1.14 with stable source API.
2) flink-table-blink - if it is meant to be self contained and usable
as a library - should not leak its shaded dependencies. It contains
FileSource and other deps from Flink, can those be relocated?
3) Do we need flink-table-blink under lib? Can it be bundled with the
application instead? It would be great if the dependencies under lib
are strictly Flink core.

Thanks,
Thomas





Flink sql client usability improvements

2021-10-26 Thread Sergey Nuyanzin
Hello Flink community

currently I work a bit with some regarding Flink sql client usability
issues [1]

I noticed that there could be a lot more usability improvement, that's why
first I want to ask if it makes sense for the community to raise such a
FLIP. And yes, I would like to contribute here.

I'm asking because I'm not quite familiar with FLIP procedure

Some options that I have in mind
- Prompting on what is missed (bracket, end of multiline comment end etc.)
- Syntax highlighting
- Improved completion
- Some more jline oob features
- something else

[1] https://issues.apache.org/jira/browse/FLINK-24592
-- 
Best regards,
Sergey


[jira] [Created] (FLINK-24655) Support checkpoint for jobs using iteration

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24655:
---

 Summary: Support checkpoint for jobs using iteration
 Key: FLINK-24655
 URL: https://issues.apache.org/jira/browse/FLINK-24655
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


Supports checkpoints for jobs using iteration. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24654) NPE on RetractableTopNFunction when some records were cleared by state ttl

2021-10-26 Thread lincoln lee (Jira)
lincoln lee created FLINK-24654:
---

 Summary: NPE on RetractableTopNFunction when some records were 
cleared by state ttl 
 Key: FLINK-24654
 URL: https://issues.apache.org/jira/browse/FLINK-24654
 Project: Flink
  Issue Type: Bug
  Components: Table SQL / Runtime
Affects Versions: 1.13.3, 1.14.0
Reporter: lincoln lee
 Fix For: 1.15.0


NullPointerException will occurr when some records were cleared by the state 
ttl.

stack:
{quote}java.lang.NullPointerExceptionjava.lang.NullPointerException at 
org.apache.flink.table.runtime.operators.rank.RetractableTopNFunction.retractRecordWithRowNumber(RetractableTopNFunction.java:379)
 at 
org.apache.flink.table.runtime.operators.rank.RetractableTopNFunction.processElement(RetractableTopNFunction.java:175)
 at 
org.apache.flink.table.runtime.operators.rank.RetractableTopNFunction.processElement(RetractableTopNFunction.java:54)
 at 
org.apache.flink.streaming.api.operators.KeyedProcessOperator.processElement(KeyedProcessOperator.java:83)
 at 
org.apache.flink.streaming.util.OneInputStreamOperatorTestHarness.processElement(OneInputStreamOperatorTestHarness.java:209)
 at 
org.apache.flink.table.planner.runtime.harness.RankHarnessTest.testRetractRankWithRowNumber(RankHarnessTest.scala:111)
{quote}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24653) Support per-round operators inside the iteration.

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24653:
---

 Summary: Support per-round operators inside the iteration.
 Key: FLINK-24653
 URL: https://issues.apache.org/jira/browse/FLINK-24653
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


Supports using the per-round operators inside the iteration. These operators 
would be recreated for each round. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24652) Add operator wrapper for per-round operators

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24652:
---

 Summary: Add operator wrapper for per-round operators
 Key: FLINK-24652
 URL: https://issues.apache.org/jira/browse/FLINK-24652
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


After https://issues.apache.org/jira/browse/FLINK-24646 , we future add 
per-round operator wrappers, namely the user operators would be re-created for 
each round. This allows us to reuse the existing operators outside of the 
iteration. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24651) Support bounded all-round iteration

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24651:
---

 Summary:  Support bounded all-round iteration
 Key: FLINK-24651
 URL: https://issues.apache.org/jira/browse/FLINK-24651
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


Supports the iteration on the bounded streams with all the operators executed 
with an all-round lifecycle, namely the operators would not be recreated inside 
the iteration. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24650) Support unbounded iteration.

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24650:
---

 Summary: Support unbounded iteration.
 Key: FLINK-24650
 URL: https://issues.apache.org/jira/browse/FLINK-24650
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


Supports the unbounded iteration inside the flink-ml library. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24649) Add DraftExecutionEnvironment to support wrapping operators during compile time

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24649:
---

 Summary: Add DraftExecutionEnvironment to support wrapping 
operators during compile time
 Key: FLINK-24649
 URL: https://issues.apache.org/jira/browse/FLINK-24649
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


To add wrappers for each operator, we'll have to first make users construct the 
subgraph of the iteration body in a separate env, and then copy to the actual 
env with the operators wrapped. We'll introduce a DraftExecutionEnvironment for 
this purpose.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24648) Ceil, floor for some timeunit return wrong results or fail with CompileException

2021-10-26 Thread Sergey Nuyanzin (Jira)
Sergey Nuyanzin created FLINK-24648:
---

 Summary: Ceil, floor for some timeunit return wrong results or 
fail with CompileException
 Key: FLINK-24648
 URL: https://issues.apache.org/jira/browse/FLINK-24648
 Project: Flink
  Issue Type: Bug
Reporter: Sergey Nuyanzin


There are issues
1. for {{TIMESTAMP WITHOUT TIMEZONE}} and {{DATE}} it returns wrong result for 
queries
{code:sql}
select ceil(timstamp'2020-26-10 12:12:12' to decade);
select ceil(timstamp'2020-26-10 12:12:12' to century);
select ceil(timstamp'2020-26-10 12:12:12' to , millennium);
{code}

same for {{FLOOR}} and {{DATE}}
2. for {{TIMESTAMP WITH TIMEZONE}} it throws exception
{noformat}
[ERROR] Could not execute SQL statement. Reason:
org.codehaus.commons.compiler.CompileException: Line 57, Column 0: No 
applicable constructor/method found for actual parameters 
"org.apache.flink.table.data.TimestampData, 
org.apache.flink.table.data.TimestampData"; candidates are: "public static int 
org.apache.calcite.runtime.SqlFunctions.ceil(int, java.math.BigDecimal)", 
"public static java.math.BigDecimal 
org.apache.calcite.runtime.SqlFunctions.ceil(java.math.BigDecimal, int)", 
"public static java.math.BigDecimal 
org.apache.calcite.runtime.SqlFunctions.ceil(java.math.BigDecimal, 
java.math.BigDecimal)", "public static short 
org.apache.calcite.runtime.SqlFunctions.ceil(short, short)", "public static 
java.math.BigDecimal 
org.apache.calcite.runtime.SqlFunctions.ceil(java.math.BigDecimal)", "public 
static double org.apache.calcite.runtime.SqlFunctions.ceil(double)", "public 
static float org.apache.calcite.runtime.SqlFunctions.ceil(float)", "public 
static byte org.apache.calcite.runtime.SqlFunctions.ceil(byte, byte)", "public 
static long org.apache.calcite.runtime.SqlFunctions.ceil(long, long)", "public 
static int org.apache.calcite.runtime.SqlFunctions.ceil(int, int)"
at 
org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12211)
at 
org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:9263)
at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:9123)
at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:9025)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5062)
at org.codehaus.janino.UnitCompiler.access$9100(UnitCompiler.java:215)
at 
org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4423)
at 
org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4396)
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5073)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4396)
at 
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5662)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3792)
at org.codehaus.janino.UnitCompiler.access$6100(UnitCompiler.java:215)
at 
org.codehaus.janino.UnitCompiler$13.visitAssignment(UnitCompiler.java:3754)
at 
org.codehaus.janino.UnitCompiler$13.visitAssignment(UnitCompiler.java:3734)
at org.codehaus.janino.Java$Assignment.accept(Java.java:4477)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3734)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2360)
at org.codehaus.janino.UnitCompiler.access$1800(UnitCompiler.java:215)
at 
org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1494)
at 
org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1487)
at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:2874)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487)
at 
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1553)
at org.codehaus.janino.UnitCompiler.access$1700(UnitCompiler.java:215)
at org.codehaus.janino.UnitCompiler$6.visitBlock(UnitCompiler.java:1493)
at org.codehaus.janino.UnitCompiler$6.visitBlock(UnitCompiler.java:1487)
at org.codehaus.janino.Java$Block.accept(Java.java:2779)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2476)
at org.codehaus.janino.UnitCompiler.access$1900(UnitCompiler.java:215)
at 
org.codehaus.janino.UnitCompiler$6.visitIfStatement(UnitCompiler.java:1495)
at 
org.codehaus.janino.UnitCompiler$6.visitIfStatement(UnitCompiler.java:1487)
at org.codehaus.janino.Java$IfStatement.accept(Java.java:2950)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487)
at 
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567)
   

Re: [NOTICE] flink-streaming-java no longer depends on Scala and lost it's suffix

2021-10-26 Thread Arvid Heise
Awesome. Thank you very much for all the hard work!

On Tue, Oct 26, 2021 at 1:06 AM Chesnay Schepler  wrote:

> This time with proper formatting...
>
> flink-batch-sql-test
> flink-cep
> flink-cli-test
> flink-clients
> flink-connector-elasticsearch-base
> flink-connector-elasticsearch5
> flink-connector-elasticsearch6
> flink-connector-elasticsearch7
> flink-connector-gcp-pubsub
> flink-connector-hbase-1.4
> flink-connector-hbase-2.2
> flink-connector-hbase-base
> flink-connector-jdbc
> flink-connector-kafka
> flink-connector-kinesis
> flink-connector-nifi
> flink-connector-pulsar
> flink-connector-rabbitmq
> flink-connector-testing
> flink-connector-twitter
> flink-connector-wikiedits
> flink-container
> flink-distributed-cache-via-blob-test
> flink-dstl-dfs
> flink-gelly
> flink-hadoop-bulk
> flink-kubernetes
> flink-parent-child-classloading-test-lib-package
> flink-parent-child-classloading-test-program
> flink-queryable-state-test
> flink-runtime-web
> flink-scala
> flink-sql-connector-elasticsearch6
> flink-sql-connector-elasticsearch7
> flink-sql-connector-hbase-1.4
> flink-sql-connector-hbase-2.2
> flink-sql-connector-kafka
> flink-sql-connector-kinesis
> flink-sql-connector-rabbitmq
> flink-state-processor-api
> flink-statebackend-rocksdb
> flink-streaming-java
> flink-streaming-kafka-test
> flink-streaming-kafka-test-base
> flink-streaming-kinesis-test
> flink-table-api-java-bridge
> flink-test-utils
> flink-walkthrough-common
> flink-yarn
>
>
> On 26/10/2021 01:04, Chesnay Schepler wrote:
> > Hello all,
> >
> > I just wanted to inform everyone that I just merged
> > https://issues.apache.org/jira/browse/FLINK-24018, removing the
> > transitive Scala dependencies from flink-streaming-java. This also
> > means that the module lost it's Scala suffix, along with a lot of
> > other modules.
> >
> > Please keep this mind this for a few days when adding Flink
> > dependencies or new modules; it is quite likely that something has
> > changed w.r.t. the Scala suffixes.
> >
> > For completeness sake, these are the module that lost the suffix:
> >
> > |flink-batch-sql-test flink-cep flink-cli-test flink-clients
> > flink-connector-elasticsearch-base flink-connector-elasticsearch5
> > flink-connector-elasticsearch6 flink-connector-elasticsearch7
> > flink-connector-gcp-pubsub flink-connector-hbase-1.4
> > flink-connector-hbase-2.2 flink-connector-hbase-base
> > flink-connector-jdbc flink-connector-kafka flink-connector-kinesis
> > flink-connector-nifi flink-connector-pulsar flink-connector-rabbitmq
> > flink-connector-testing flink-connector-twitter
> > flink-connector-wikiedits flink-container
> > flink-distributed-cache-via-blob-test flink-dstl-dfs flink-gelly
> > flink-hadoop-bulk flink-kubernetes
> > flink-parent-child-classloading-test-lib-package
> > flink-parent-child-classloading-test-program
> > flink-queryable-state-test flink-runtime-web flink-scala
> > flink-sql-connector-elasticsearch6 flink-sql-connector-elasticsearch7
> > flink-sql-connector-hbase-1.4 flink-sql-connector-hbase-2.2
> > flink-sql-connector-kafka flink-sql-connector-kinesis
> > flink-sql-connector-rabbitmq flink-state-processor-api
> > flink-statebackend-rocksdb flink-streaming-java
> > flink-streaming-kafka-test flink-streaming-kafka-test-base
> > flink-streaming-kinesis-test flink-table-api-java-bridge
> > flink-test-utils flink-walkthrough-common flink-yarn|
> >
>
>


[jira] [Created] (FLINK-24647) ClusterUncaughtExceptionHandler does not log the exception

2021-10-26 Thread Fabian Paul (Jira)
Fabian Paul created FLINK-24647:
---

 Summary: ClusterUncaughtExceptionHandler does not log the exception
 Key: FLINK-24647
 URL: https://issues.apache.org/jira/browse/FLINK-24647
 Project: Flink
  Issue Type: Bug
  Components: Runtime / Coordination
Affects Versions: 1.14.0, 1.15.0
Reporter: Fabian Paul


If an uncaught exception occurs and the uncaught exception handler is 
configured to log it swallows the exception stack trace.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24646) Add operator wrapper for all-round iterations

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24646:
---

 Summary: Add operator wrapper for all-round iterations
 Key: FLINK-24646
 URL: https://issues.apache.org/jira/browse/FLINK-24646
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


Inside the iteration, we will also broadcast the special events to mark the end 
of rounds. To process these events, all the operators inside the iteration is 
wrapped with a specialized wrapper operator. 

There are two kinds of wrappers: the first wrapper would not recreate the 
users' operator for each round, and the second one would. This issue would 
implement the first kind. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24645) Implements the feedback mechanism and the controller operators

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24645:
---

 Summary: Implements the feedback mechanism and the controller 
operators
 Key: FLINK-24645
 URL: https://issues.apache.org/jira/browse/FLINK-24645
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


To iterates record, we need specialized mechanism to feedback the records from 
the tail of the iteration body back to the head of the iteration body. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24644) Introduce Add broadcast output to broadcast events to all the downstream tasks

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24644:
---

 Summary: Introduce Add broadcast output to broadcast events to all 
the downstream tasks
 Key: FLINK-24644
 URL: https://issues.apache.org/jira/browse/FLINK-24644
 Project: Flink
  Issue Type: Sub-task
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0


Iteration requires to broadcast the epoch-watermark inside iteration no matter 
what partitioner is used. Currently it is not directly supported by the 
DataStream API, thus we need use reflection to use some low-level operations to 
implement this functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24643) Introduce the flink-ml-iteration module and iteration api

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24643:
---

 Summary: Introduce the flink-ml-iteration module and iteration api
 Key: FLINK-24643
 URL: https://issues.apache.org/jira/browse/FLINK-24643
 Project: Flink
  Issue Type: Sub-task
Reporter: Yun Gao
Assignee: Yun Gao


To startup, we need to create the flink-ml-iteration module inside the flink-ml 
project, and also add the api as listed in FLIP-176



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24642) Implements unified iteration to support algorithms in flink-ml

2021-10-26 Thread Yun Gao (Jira)
Yun Gao created FLINK-24642:
---

 Summary: Implements unified iteration to support algorithms in 
flink-ml
 Key: FLINK-24642
 URL: https://issues.apache.org/jira/browse/FLINK-24642
 Project: Flink
  Issue Type: New Feature
  Components: Library / Machine Learning
Reporter: Yun Gao
Assignee: Yun Gao
 Fix For: 0.1.0






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (FLINK-24641) Flink SQL FileSystem read hdfs Path, when Path's file name change, the sql will not find the file.

2021-10-26 Thread Hadiiiiiiiii (Jira)
Hadi created FLINK-24641:


 Summary: Flink SQL FileSystem read hdfs Path, when Path's file 
name change, the sql will not find the file.
 Key: FLINK-24641
 URL: https://issues.apache.org/jira/browse/FLINK-24641
 Project: Flink
  Issue Type: Bug
  Components: Table SQL / Client
Affects Versions: 1.13.2
Reporter: Hadi


Hello, big bro.

when I use the Flink SQL to read HDFS Files like this:
{code:java}
CREATE TABLE `cfg_city`(
`provincecode` int, `city_id` int, `city_name` string)
WITH (
'connector'='filesystem',
'path'='viewfs://path1/path2/path3/cfg_city',
'format' = 'csv',
'csv.field-delimiter' = ',',
'csv.ignore-parse-errors' = 'true'
)
;



{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[RESULT][VOTE] FLIP-176: Unified Iteration to Support Algorithms (Flink ML)

2021-10-26 Thread Yun Gao
Hi all,

I'm glad to annouce that we have unanimously approved this FLIP.

There are 4 approved votings, 3 of which are binding:

Guowei Ma (binding)
Till Rohrmann (binding)
Yunfeng Zhou (non-binding)
Becket Qin (binding)

Very thanks everyone for the dicussion and votings! 

Best,
Yun


 --Original Mail --
Sender:Becket Qin 
Send Date:Mon Oct 25 18:05:16 2021
Recipients:dev 
Subject:Re: [VOTE] FLIP-176: Unified Iteration to Support Algorithms (Flink ML)
+1 (binding)

Thanks for the FLIP.

Jiangjie (Becket) Qin


On Mon, Oct 25, 2021 at 4:45 PM Yunfeng Zhou 
wrote:

> Sorry that I misunderstood the usage of "binding". I am not a Flink
> committer so my vote should be a non-binding one.
>
> Best,
> Yunfeng
>
> On Mon, Oct 25, 2021 at 4:33 PM Yunfeng Zhou 
> wrote:
>
> > Excellent work to support iteration for Flink.
> >
> > +1 (binding)
> >
> > Best regards,
> > Yunfeng
> >
> > On Sat, Oct 23, 2021 at 12:27 AM Till Rohrmann 
> > wrote:
> >
> >> Thanks for creating this FLIP.
> >>
> >> +1 (binding)
> >>
> >> Cheers,
> >> Till
> >>
> >>
> >> On Fri, Oct 22, 2021 at 6:29 AM Guowei Ma  wrote:
> >>
> >> > +1 (binding)
> >> >
> >> > Best,
> >> > Guowei
> >> >
> >> >
> >> > On Thu, Oct 21, 2021 at 3:58 PM Yun Gao  >
> >> > wrote:
> >> >
> >> > >
> >> > > Hi all,
> >> > >
> >> > > We would like to start the vote for FLIP-176: Unified Iteration to
> >> > Support
> >> > > Algorithms (Flink ML) [1].
> >> > > This FLIP was discussed in this thread [2][3]. The FLIP-176 targets
> at
> >> > > implementing the iteration
> >> > > API in flink-ml to support the implementation of the algorithms.
> >> > >
> >> > > The vote will be open for at least 72 hours till 26th Oct morning,
> >> > > including the weekend. Very thanks!
> >> > >
> >> > > Best,
> >> > > Yun
> >> > >
> >> > > [1] https://cwiki.apache.org/confluence/x/hAEBCw
> >> > > [2]
> >> > >
> >> >
> >>
> https://lists.apache.org/thread.html/r72e87a71b14baac3d7d16268346f5fc7c65f1de989e00b4ab2aab9ab%40%3Cdev.flink.apache.org%3E
> >> > > [3]
> >> > >
> >> >
> >>
> https://lists.apache.org/thread.html/r63914a616de05a91dbe8e1a3208eb2b7c7c840c5c366bbd224483754%40%3Cdev.flink.apache.org%3E
> >> >
> >>
> >
>


Re: [DISCUSS] Creating an external connector repository

2021-10-26 Thread Arvid Heise
Hi folks,

I think some questions came up and I'd like to address the question of the
timing.

Could you clarify what release cadence you're thinking of? There's quite
> a big range that fits "more frequent than Flink" (per-commit, daily,
> weekly, bi-weekly, monthly, even bi-monthly).

The short answer is: as often as needed:
- If there is a CVE in a dependency and we need to bump it - release
immediately.
- If there is a new feature merged, release soonish. We may collect a few
successive features before a release.
- If there is a bugfix, release immediately or soonish depending on the
severity and if there are workarounds available.

We should not limit ourselves; the whole idea of independent releases is
exactly that you release as needed. There is no release planning or
anything needed, you just go with a release as if it was an external
artifact.

(1) is the connector API already stable?
> From another discussion thread [1], connector API is far from stable.
> Currently, it's hard to build connectors against multiple Flink versions.
> There are breaking API changes both in 1.12 -> 1.13 and 1.13 -> 1.14 and
>  maybe also in the future versions,  because Table related APIs are still
> @PublicEvolving and new Sink API is still @Experimental.
>

The question is: what is stable in an evolving system? We recently
discovered that the old SourceFunction needed to be refined such that
cancellation works correctly [1]. So that interface is in Flink since 7
years, heavily used also outside, and we still had to change the contract
in a way that I'd expect any implementer to recheck their implementation.
It might not be necessary to change anything and you can probably change
the the code for all Flink versions but still, the interface was not stable
in the closest sense.

If we focus just on API changes on the unified interfaces, then we expect
one more change to Sink API to support compaction. For Table API, there
will most likely also be some changes in 1.15. So we could wait for 1.15.

But I'm questioning if that's really necessary because we will add more
functionality beyond 1.15 without breaking API. For example, we may add
more unified connector metrics. If you want to use it in your connector,
you have to support multiple Flink versions anyhow. So rather then focusing
the discussion on "when is stuff stable", I'd rather focus on "how can we
support building connectors against multiple Flink versions" and make it as
painless as possible.

Chesnay pointed out to use different branches for different Flink versions
which sounds like a good suggestion. With a mono-repo, we can't use
branches differently anyways (there is no way to have release branches per
connector without chaos). In these branches, we could provide shims to
simulate future features in older Flink versions such that code-wise, the
source code of a specific connector may not diverge (much). For example, to
register unified connector metrics, we could simulate the current approach
also in some utility package of the mono-repo.

I see the stable core Flink API as a prerequisite for modularity. And
> for connectors it is not just the source and sink API (source being
> stable as of 1.14), but everything that is required to build and
> maintain a connector downstream, such as the test utilities and
> infrastructure.
>

That is a very fair point. I'm actually surprised to see that
MiniClusterWithClientResource is not public. I see it being used in all
connectors, especially outside of Flink. I fear that as long as we do not
have connectors outside, we will not properly annotate and maintain these
utilties in a classic hen-and-egg-problem. I will outline an idea at the
end.

> the connectors need to be adopted and require at least one release per
> Flink minor release.
> However, this will make the releases of connectors slower, e.g. maintain
> features for multiple branches and release multiple branches.
> I think the main purpose of having an external connector repository is in
> order to have "faster releases of connectors"?
>

> Imagine a project with a complex set of dependencies. Let's say Flink
> version A plus Flink reliant dependencies released by other projects
> (Flink-external connectors, Beam, Iceberg, Hudi, ..). We don't want a
> situation where we bump the core Flink version to B and things fall
> apart (interface changes, utilities that were useful but not public,
> transitive dependencies etc.).
>

Yes, that's why I wanted to automate the processes more which is not that
easy under ASF. Maybe we automate the source provision across supported
versions and have 1 vote thread for all versions of a connector?

>From the perspective of CDC connector maintainers, the biggest advantage of
> maintaining it outside of the Flink project is that:
> 1) we can have a more flexible and faster release cycle
> 2) we can be more liberal with committership for connector maintainers
> which can also attract more committers to help the release.
>
>