Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BEAM-12164] Convert all static instances to be transient in the connector in order to enable concurrent testing #17036

Merged
merged 6 commits into from
Mar 9, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
nullness
  • Loading branch information
nancyxu123 committed Mar 8, 2022
commit 5c9dfb18bf7ae9e6060d770d7c1803120e2b257b
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,16 @@
* query. The instances created are all singletons.
*/
// transient fields are un-initialized, because we start them during the first fetch call (with the
// singleton pattern)
// singleton pattern).
@SuppressWarnings("uninitialized")
public class ActionFactory implements Serializable {

private static final long serialVersionUID = -4060958761369602619L;
private transient DataChangeRecordAction dataChangeRecordActionInstance = null;
private transient HeartbeatRecordAction heartbeatRecordActionInstance = null;
private transient ChildPartitionsRecordAction childPartitionsRecordActionInstance = null;
private transient QueryChangeStreamAction queryChangeStreamActionInstance = null;
private transient DetectNewPartitionsAction detectNewPartitionsActionInstance = null;
private transient DataChangeRecordAction dataChangeRecordActionInstance;
private transient HeartbeatRecordAction heartbeatRecordActionInstance;
private transient ChildPartitionsRecordAction childPartitionsRecordActionInstance;
private transient QueryChangeStreamAction queryChangeStreamActionInstance;
private transient DetectNewPartitionsAction detectNewPartitionsActionInstance;

/**
* Creates and returns a singleton instance of an action class capable of processing {@link
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,14 @@
// transient fields are un-initialized, because we start them during the first fetch call (with the
// singleton pattern)
// nullness checks for metadata instance and database are handled in the constructor
@SuppressWarnings({"uninitialized", "nullness"})
public class DaoFactory implements Serializable {

private static final long serialVersionUID = 7929063669009832487L;

private transient PartitionMetadataAdminDao partitionMetadataAdminDao = null;
private transient PartitionMetadataDao partitionMetadataDaoInstance = null;
private transient ChangeStreamDao changeStreamDaoInstance = null;
private transient PartitionMetadataAdminDao partitionMetadataAdminDao;
private transient PartitionMetadataDao partitionMetadataDaoInstance;
private transient ChangeStreamDao changeStreamDaoInstance;

private final SpannerConfig changeStreamSpannerConfig;
private final SpannerConfig metadataSpannerConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@
*/
// transient fields are un-initialized, because we start them during the first fetch call (with the
// singleton pattern)
@SuppressWarnings("nullness")
public class MapperFactory implements Serializable {

private static final long serialVersionUID = -813434573067800902L;

private transient ChangeStreamRecordMapper changeStreamRecordMapperInstance = null;
private transient PartitionMetadataMapper partitionMetadataMapperInstance = null;
private transient ChangeStreamRecordMapper changeStreamRecordMapperInstance;
private transient PartitionMetadataMapper partitionMetadataMapperInstance;

/**
* Creates and returns a singleton instance of a mapper class capable of transforming a {@link
Expand Down