Skip to content

[FLINK-9311] [pubsub] Added PubSub source connector with support for checkpointing#6248

Closed
Xeli wants to merge 26 commits intoapache:masterfrom
Xeli:master
Closed

[FLINK-9311] [pubsub] Added PubSub source connector with support for checkpointing#6248
Xeli wants to merge 26 commits intoapache:masterfrom
Xeli:master

Conversation

@Xeli
Copy link
Contributor

@Xeli Xeli commented Jul 3, 2018

What is the purpose of the change

Adding a PubSub connector with support for Checkpointing

Verifying this change

This change added tests and can be verified as follows:

  • Added unit tests
  • Manually verified the connector (without Checkpointing) on an actual PubSub topic and subscription.
    Is there a need for integration tests? I did not see any for the other connectors.
    What is a good way of testing the checkpointing / exactly-once behavior?

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): yes, Google Cloud Sdk for PubSub (Does this need to be shaded?)
  • 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): don't know, don't think so
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: yes, checkpointing
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? yes
  • If yes, how is the feature documented? JavaDocs

@Xeli
Copy link
Contributor Author

Xeli commented Jul 4, 2018

I've had to make a small tweak to the code ( I rebased it because I don't think anyone looked at this yet)

@Xeli Xeli changed the title [FLINK-9311] [pubsub] Added PubSub connector with support for checkpointing [FLINK-9311] [pubsub] Added PubSub source connector with support for checkpointing Jul 4, 2018
fmthoma and others added 24 commits July 17, 2018 22:52
Config example:

```
aws.credentials.provider: ASSUME_ROLE
aws.credentials.provider.role.arn: <arn>
aws.credentials.provider.role.sessionName: session-name
aws.credentials.provider.role.provider: AUTO
```

[FLINK-9686] [kinesis] Housekeeping: Use early return instead of variable assignment and break

[FLINK-9686] [kinesis] Add dependency on aws-java-sdk-sts

Implicitly (via `Class.forName`) used by `STSProfileCredentialsServiceProvider`.
Due to shading, it is not possible to treat this as a "provided" dependency, as
Maven rewrites the class name with the shaded one, which would force clients to
provide aws-java-sdk-sts shaded in the same way.

[FLINK-9686] [kinesis] Mention new config option in docs

[FLINK-9686] [kinesis] Use `STSAssumeRoleSessionCredentialsProvider` instead

[FLINK-9686] [kinesis] Add constants for new config options

This closes apache#6221.
…tput stream

This commit changes Flink such that it uses the savepoint path's file system to
generate the output stream instead of the checkpoint path's file system.

This closes apache#6194.
…er for value with TTL

This closes apache#6196.
This closes apache#5799. (forgotten)
Support concurrent directory creations by accepting directories which have been
created by a different thread/process in LocalFileSystem#mkdirs.

This closes apache#6243.
Setting the assigned Execution#taskRestore to null after the deployment allows the
JobManagerTaskRestore instance to be garbage collected. Furthermore, it won't be
archived along with the Execution in the ExecutionVertex in case of a restart. This
is especially important when setting state.backend.fs.memory-threshold to larger
values because every state below this threshold will be stored in the meta state files
and, thus, also the JobManagerTaskRestore instances.

This closes apache#6251.
@Xeli
Copy link
Contributor Author

Xeli commented Jul 18, 2018

I will close this PR for now because we'd like to add some more features such as a PubSubSink and some integrations tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants