[jira] [Created] (FLINK-35321) CheckpointCommittableManagerImpl re-registers pendingCommittables gauge on every commit operation

2024-05-09 Thread Lennon Yu (Jira)
Lennon Yu created FLINK-35321:
-

 Summary: CheckpointCommittableManagerImpl re-registers 
pendingCommittables gauge on every commit operation
 Key: FLINK-35321
 URL: https://issues.apache.org/jira/browse/FLINK-35321
 Project: Flink
  Issue Type: Bug
  Components: API / Core, Runtime / Checkpointing, Runtime / Metrics
Affects Versions: 1.19.0
Reporter: Lennon Yu


Found while testing a home-made Sink implementation that implements 
SupportCommitter. We observed that starting from the *second* checkpoint, every 
committer commit will be accompanied by the warning log:
{quote}
Name collision: Group already contains a Metric with the name 
'pendingCommittables'.
{quote}

Enabling the debugger and tracing the origin of this log took us to 
{{org.apache.flink.streaming.runtime.operators.sink.committables.CheckpointCommittableManagerImpl}}
 at line 137 of the commit() method:

{code:java}
metricGroup.setCurrentPendingCommittablesGauge(() -> 
getPendingRequests(false).size());
{code}

It looks like that instead of modifying the value of the gauge, the manager 
class is *re-setting with a different guage* on every commit operation, which 
explains the appearance of the warning log shown above.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (FLINK-34542) Improve Gradle Quick Start build.gradle with Better Gradle API Alternatives

2024-02-28 Thread Lennon Yu (Jira)
Lennon Yu created FLINK-34542:
-

 Summary: Improve Gradle Quick Start build.gradle with Better 
Gradle API Alternatives
 Key: FLINK-34542
 URL: https://issues.apache.org/jira/browse/FLINK-34542
 Project: Flink
  Issue Type: Improvement
  Components: Documentation
Reporter: Lennon Yu


This is a ticket of misc. improvements on the build.gradle script provided at 
{{Application Development}} >> {{Project Configuration}} >> {{Overview}} >> 
{{Getting Started:}}
 * {{{}Add {{mergeServiceFiles(){} call to the {{shadowJar}} configuration 
block
 ** Absence of this will cause class-not-found errors in SPI related class 
loading if the user has multiple connectors/formats in their implementation.
 * Move the top level {{mainClassName}} project property setting into 
application \{ mainClass = 'foo.Bar' }
 ** This is because the top-level mainClassName property will be deprecated in 
Gradle 9.0+
 * Replace the use of {{sourceCompatibility}} and {{targetCompatibility}} 
properties with java \{ toolChain { languageVersion = 
JavaLanguageVersion.of(17) } }
 ** This is the recommended way by Gradle to streamline langauge version 
configuration.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)