Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
396 commits
Select commit Hold shift + click to select a range
aff9b56
Merge branch '2.1.x'
C0urante Apr 8, 2021
394d559
[maven-release-plugin] prepare release v2.0.3
C0urante Apr 8, 2021
5ceb1d3
[maven-release-plugin] prepare for next development iteration
C0urante Apr 8, 2021
172dc5a
[maven-release-plugin] prepare release v2.1.2
C0urante Apr 8, 2021
af856aa
[maven-release-plugin] prepare for next development iteration
C0urante Apr 8, 2021
263cd5f
Merge branch '2.0.x' into 2.1.x
C0urante Apr 8, 2021
7d363fa
Merge branch '2.1.x'
C0urante Apr 8, 2021
6c99197
GH-96 (follow-up): Include REPEATED fields in unionized schemas if mi…
C0urante Apr 9, 2021
bfa6058
Merge branch '2.0.x' into 2.1.x
C0urante Apr 9, 2021
cb7d32b
Merge branch '2.1.x'
C0urante Apr 9, 2021
5dff101
[maven-release-plugin] prepare release v2.0.4
C0urante Apr 9, 2021
f9c8b60
[maven-release-plugin] prepare for next development iteration
C0urante Apr 9, 2021
ae35add
[maven-release-plugin] prepare release v2.1.3
C0urante Apr 9, 2021
bc3e7a6
[maven-release-plugin] prepare for next development iteration
C0urante Apr 9, 2021
26fde7d
Merge branch '2.0.x' into 2.1.x
C0urante Apr 9, 2021
750761f
Merge branch '2.1.x'
C0urante Apr 9, 2021
93bd2b3
GH-105: Allow creation of non-partitioned tables (#106)
C0urante May 5, 2021
8f163b0
MINOR: Remove outdated properties (#107)
C0urante May 5, 2021
00a1dd6
Merge branch '1.1.x' into 1.2.x
C0urante May 5, 2021
282b6f7
Merge branch '1.2.x' into 1.3.x
C0urante May 5, 2021
a552e4b
Merge branch '1.3.x' into 1.4.x
C0urante May 5, 2021
ce05794
Merge branch '1.4.x' into 1.5.x
C0urante May 5, 2021
ed22f2c
Merge branch '1.5.x' into 1.6.x
C0urante May 5, 2021
80f9e9c
Manual merge 1.6.x into 2.0.x
C0urante May 5, 2021
a5b8ca1
Merge branch '2.0.x' into 2.1.x
C0urante May 5, 2021
6a5066d
Merge branch '2.1.x'
C0urante May 5, 2021
533feaf
Update supportSummary for BigQuery Sink (#108)
NathanNam May 6, 2021
57648da
Merge branch '2.1.x'
C0urante May 6, 2021
a672fcd
GH-65: Add support for Kafka logical Time type (#112)
C0urante May 11, 2021
440a3b0
Merge branch '1.6.x' into 2.0.x
C0urante May 11, 2021
8110c89
Merge branch '2.0.x' into 2.1.x
C0urante May 11, 2021
dd4f439
Merge branch '2.1.x'
C0urante May 11, 2021
8ca2178
Prevent records with null value schema from causing NPE when delete i…
Cyril-Engels Jun 8, 2021
237ebe0
Merge branch '2.0.x' into 2.1.x
Cyril-Engels Jun 8, 2021
aee4557
Merge branch '2.1.x'
Cyril-Engels Jun 8, 2021
32b3ed0
[maven-release-plugin] prepare release v2.0.5
Cyril-Engels Jun 8, 2021
71bc967
[maven-release-plugin] prepare for next development iteration
Cyril-Engels Jun 8, 2021
8ad62f3
Merge branch '2.0.x' into 2.1.x
Cyril-Engels Jun 8, 2021
feafb1e
Merge branch '2.1.x'
Cyril-Engels Jun 8, 2021
a8d4688
[maven-release-plugin] prepare release v2.1.4
Cyril-Engels Jun 8, 2021
4ed5245
[maven-release-plugin] prepare for next development iteration
Cyril-Engels Jun 8, 2021
973a033
Merge branch '2.1.x'
Cyril-Engels Jun 8, 2021
eb1c150
Skip record with null valueSchema when proposing new BigQuery schema.…
Cyril-Engels Aug 17, 2021
f902cce
Merge branch '2.0.x' into 2.1.x
Cyril-Engels Aug 17, 2021
783be15
Merge branch '2.1.x'
Cyril-Engels Aug 17, 2021
bf9553b
[maven-release-plugin] prepare release v2.0.6
Cyril-Engels Aug 17, 2021
5754b8c
[maven-release-plugin] prepare for next development iteration
Cyril-Engels Aug 17, 2021
ca1b6e4
Merge branch '2.0.x' into 2.1.x
Cyril-Engels Aug 17, 2021
cbc9c36
Merge branch '2.1.x'
Cyril-Engels Aug 17, 2021
5005951
[maven-release-plugin] prepare release v2.1.5
Cyril-Engels Aug 17, 2021
0bc7542
[maven-release-plugin] prepare for next development iteration
Cyril-Engels Aug 17, 2021
53cf53e
Merge branch '2.1.x'
Cyril-Engels Aug 17, 2021
e57d616
CCDB-4187: Recursively unionize subfields (#121)
ncliang Aug 25, 2021
2d1ee8b
Merge branch '2.0.x' into 2.1.x
ncliang Aug 25, 2021
c88289c
Merge branch '2.1.x'
ncliang Aug 25, 2021
c2b66b6
[maven-release-plugin] prepare release v2.0.7
ncliang Aug 25, 2021
de170bf
[maven-release-plugin] prepare for next development iteration
ncliang Aug 25, 2021
06ece83
[maven-release-plugin] prepare release v2.1.6
ncliang Aug 25, 2021
14db6ed
[maven-release-plugin] prepare for next development iteration
ncliang Aug 25, 2021
bca8aa5
Merge branch '2.0.x' into 2.1.x
ncliang Aug 25, 2021
f832cb4
Merge branch '2.1.x'
ncliang Aug 25, 2021
ec09e3e
[maven-release-plugin] prepare release v1.6.7
C0urante Sep 2, 2021
0986d11
[maven-release-plugin] prepare for next development iteration
C0urante Sep 2, 2021
8d6aae5
Merge branch '1.6.x' into 2.0.x
C0urante Sep 2, 2021
74b2619
Merge branch '2.0.x' into 2.1.x
C0urante Sep 2, 2021
184d93f
Merge branch '2.1.x'
C0urante Sep 2, 2021
bc769d3
Use https://packages.confluent.io/ instaed of http (#129)
rerorero Sep 7, 2021
85b8de3
Register TimestampConverter in DebeziumLogicalConverters. (#137)
C0urante Sep 8, 2021
e50f6e9
Merge branch '1.6.x' into 2.0.x
C0urante Sep 8, 2021
0d968dc
Merge branch '2.0.x' into 2.1.x
C0urante Sep 8, 2021
1307910
Merge branch '2.1.x'
C0urante Sep 8, 2021
7232276
[maven-release-plugin] prepare release v1.6.8
C0urante Sep 9, 2021
98c7c62
[maven-release-plugin] prepare for next development iteration
C0urante Sep 9, 2021
f105b82
[maven-release-plugin] prepare release v2.0.8
C0urante Sep 9, 2021
af217bb
[maven-release-plugin] prepare for next development iteration
C0urante Sep 9, 2021
ffb194d
[maven-release-plugin] prepare release v2.1.7
C0urante Sep 9, 2021
1a6f021
[maven-release-plugin] prepare for next development iteration
C0urante Sep 9, 2021
08deb92
Merge branch '1.6.x' into 2.0.x
C0urante Sep 9, 2021
6b2a7cb
Merge branch '2.0.x' into 2.1.x
C0urante Sep 9, 2021
f3a3b7c
Merge branch '2.1.x'
C0urante Sep 9, 2021
d2ff27c
GH-144: Isolate error classification logic into single, testable clas…
C0urante Sep 22, 2021
e795820
Merge branch '2.0.x' into 2.1.x
C0urante Sep 22, 2021
5735d2a
Merge branch '2.1.x'
C0urante Sep 22, 2021
986995e
adding table and column information to help debugging (#152)
fuxiao224 Sep 24, 2021
ac160ab
Merge branch '1.6.x' into 2.0.x
C0urante Sep 24, 2021
e0407a7
Merge branch '2.0.x' into 2.1.x
C0urante Sep 24, 2021
1f7337b
Merge branch '2.1.x'
C0urante Sep 24, 2021
d460013
GH-146: Parameterize BigQuerySinkConnectorIT tests (#147)
C0urante Sep 27, 2021
e87389e
Merge branch '2.0.x' into 2.1.x
C0urante Sep 27, 2021
ef1a746
Merge branch '2.1.x'
C0urante Sep 27, 2021
a3fa7c4
GH-139: Move all user-visible configuration properties to single conf…
C0urante Nov 1, 2021
42a55a9
Manual merge 1.6.x into 2.0.x
C0urante Nov 1, 2021
887305b
Manual merge 2.0.x into 2.1.x
C0urante Nov 1, 2021
1dc0c78
Manual merge 2.1.x into master
C0urante Nov 1, 2021
1a9bfbd
[GH-161] Fixed cast error of Long in debezium time converter (#162)
subkanthi Nov 2, 2021
0cc3aa3
Merge branch '1.6.x' into 2.0.x
C0urante Nov 2, 2021
9261b8f
Merge branch '2.0.x' into 2.1.x
C0urante Nov 2, 2021
1d10917
Merge branch '2.1.x'
C0urante Nov 2, 2021
15fe0f5
[maven-release-plugin] prepare release v1.6.9
C0urante Nov 12, 2021
4c68def
[maven-release-plugin] prepare for next development iteration
C0urante Nov 12, 2021
554aa45
[maven-release-plugin] prepare release v2.0.9
C0urante Nov 12, 2021
6dcf0ba
[maven-release-plugin] prepare for next development iteration
C0urante Nov 12, 2021
f0aca3c
[maven-release-plugin] prepare release v2.1.8
C0urante Nov 12, 2021
b3de1b4
[maven-release-plugin] prepare for next development iteration
C0urante Nov 12, 2021
3427b59
Merge branch '1.6.x' into 2.0.x
C0urante Nov 12, 2021
fb3e545
Merge branch '2.0.x' into 2.1.x
C0urante Nov 12, 2021
ff12e9f
Merge branch '2.1.x'
C0urante Nov 12, 2021
4e52cec
MINOR: Handle new "table is deleted" error from BigQuery (#163)
C0urante Nov 15, 2021
2ac85c4
Merge branch '2.0.x' into 2.1.x
C0urante Nov 15, 2021
96dc04b
Merge branch '2.1.x'
C0urante Nov 15, 2021
d7cbea1
GH-138: Fail faster when attempting to write to non-day-partitioned t…
C0urante Nov 15, 2021
6f7cd4e
Manual merge 2.1.x into master
C0urante Nov 15, 2021
dbb1f09
[maven-release-plugin] prepare release v2.0.10
C0urante Nov 15, 2021
0f1ef13
[maven-release-plugin] prepare for next development iteration
C0urante Nov 15, 2021
b85d101
[maven-release-plugin] prepare release v2.1.9
C0urante Nov 15, 2021
1bfb8cc
[maven-release-plugin] prepare for next development iteration
C0urante Nov 15, 2021
0ae55ee
Merge branch '2.0.x' into 2.1.x
C0urante Nov 15, 2021
822ff55
Merge branch '2.1.x'
C0urante Nov 15, 2021
d8fc535
GH-149: Improve error messages on write thread failure (#150)
C0urante Nov 17, 2021
7c36ec1
Manual merge 1.6.x into 2.0.x
C0urante Nov 17, 2021
77c2675
Merge branch '2.0.x' into 2.1.x
C0urante Nov 17, 2021
5bc5587
Merge branch '2.1.x'
C0urante Nov 17, 2021
5280d0e
GH-139: Improve preflight config validation (#153)
C0urante Nov 17, 2021
baaa260
GH-139: Move all user-visible configuration properties to single conf…
C0urante Sep 9, 2021
04faaba
GH-139: Improve preflight config validation
C0urante Sep 19, 2021
dc6097f
GH-139: Move all user-visible configuration properties to single conf…
C0urante Sep 9, 2021
b180827
GH-139: Improve preflight config validation
C0urante Sep 19, 2021
a62b6f6
Merge branch '1.6.x' into 2.0.x
C0urante Nov 17, 2021
78f3e2c
Merge branch '2.0.x' into 2.1.x
C0urante Nov 17, 2021
922cdc0
Manual merge 2.1.x into master
C0urante Nov 17, 2021
ebcf919
Merge branch '2.1.x'
C0urante Nov 17, 2021
34e6157
[maven-release-plugin] prepare release v2.0.11
C0urante Dec 8, 2021
e0816c8
[maven-release-plugin] prepare for next development iteration
C0urante Dec 8, 2021
e78f99a
[maven-release-plugin] prepare release v2.1.10
C0urante Dec 8, 2021
607f463
[maven-release-plugin] prepare for next development iteration
C0urante Dec 8, 2021
9250f14
Merge branch '2.0.x' into 2.1.x
C0urante Dec 8, 2021
79d517a
Merge branch '2.1.x'
C0urante Dec 8, 2021
e849300
Support Application Default Credentials (ADC) to find credentials aut…
danidelvalle Dec 30, 2021
e1b710e
[maven-release-plugin] prepare branch 2.2.x
C0urante Dec 30, 2021
810c867
[maven-release-plugin] prepare for next development iteration
C0urante Dec 30, 2021
b3d3100
[maven-release-plugin] prepare release v2.2.0
C0urante Dec 30, 2021
78849be
[maven-release-plugin] prepare for next development iteration
C0urante Dec 30, 2021
b090f85
Merge branch '2.2.x'
C0urante Dec 30, 2021
ace4bf4
Support keywords by enclosing column identifiers by backtick characte…
danidelvalle Jan 25, 2022
b7787de
Merge branch '2.0.x' into 2.1.x
C0urante Jan 25, 2022
cbf49c6
Merge branch '2.1.x' into 2.2.x
C0urante Jan 25, 2022
7ea414d
Merge branch '2.2.x'
C0urante Jan 25, 2022
722b3fc
[maven-release-plugin] prepare release v2.0.12
C0urante Jan 25, 2022
83b1c43
[maven-release-plugin] prepare for next development iteration
C0urante Jan 25, 2022
01bca8b
[maven-release-plugin] prepare release v2.1.11
C0urante Jan 25, 2022
1e8f801
[maven-release-plugin] prepare for next development iteration
C0urante Jan 25, 2022
83904b0
[maven-release-plugin] prepare release v2.2.1
C0urante Jan 25, 2022
5d22ac3
[maven-release-plugin] prepare for next development iteration
C0urante Jan 25, 2022
f83cc03
Merge branch '2.0.x' into 2.1.x
C0urante Jan 25, 2022
2cce9d8
Merge branch '2.1.x' into 2.2.x
C0urante Jan 25, 2022
daaf03f
Merge branch '2.2.x'
C0urante Jan 25, 2022
25ec713
Add exception message (#170)
lanyao77 Jan 25, 2022
045fcd1
GH-164: Remove dependency on ConfigDef.CaseInsensitiveValidString (#165)
C0urante Jan 26, 2022
b546716
Merge branch '2.1.x' into 2.2.x
C0urante Jan 26, 2022
decc5cf
Merge branch '2.2.x'
C0urante Jan 26, 2022
f7e25b8
CCDB-4518: Sanitize field names when converting to BQ schema (#177)
ncliang Jan 27, 2022
443e4bc
Merge branch '2.0.x' into 2.1.x
ncliang Jan 28, 2022
a0d671d
Merge branch '2.1.x' into 2.2.x
ncliang Jan 28, 2022
a03c549
Merge branch '2.2.x'
ncliang Jan 28, 2022
9ae88dd
[maven-release-plugin] prepare release v2.0.13
ncliang Jan 28, 2022
523b12a
[maven-release-plugin] prepare for next development iteration
ncliang Jan 28, 2022
cf305e9
[maven-release-plugin] prepare release v2.1.12
ncliang Jan 28, 2022
1f5d469
[maven-release-plugin] prepare for next development iteration
ncliang Jan 28, 2022
6588299
[maven-release-plugin] prepare release v2.2.2
ncliang Jan 28, 2022
576623c
[maven-release-plugin] prepare for next development iteration
ncliang Jan 28, 2022
9b8c1c0
Merge branch '2.0.x' into 2.1.x
ncliang Jan 28, 2022
d76c7bf
Merge branch '2.1.x' into 2.2.x
ncliang Jan 28, 2022
e7c1957
Merge branch '2.2.x'
ncliang Jan 28, 2022
b798418
Introduce Pull Request Reviewers (#182)
lyoung-confluent Apr 1, 2022
51ffef1
Fixed test and increased jenkins timeout (#201)
ypmahajan Apr 28, 2022
3f28e8a
Merge branch '2.0.x' into 2.1.x by ypmahajan
ConfluentJenkins Apr 28, 2022
7c341ca
Merge branch '2.1.x' into 2.2.x by ypmahajan
ConfluentJenkins Apr 28, 2022
7bc7119
Merge branch '2.2.x' into master by ypmahajan
ConfluentJenkins Apr 28, 2022
3a025b4
Added user-agent header for GCP calls (#196)
ypmahajan May 3, 2022
a7730c3
[maven-release-plugin] prepare branch 2.3.x
ypmahajan May 4, 2022
0b78030
[maven-release-plugin] prepare for next development iteration
ypmahajan May 4, 2022
8f37b50
[maven-release-plugin] prepare release v2.3.0
ypmahajan May 4, 2022
03858c7
[maven-release-plugin] prepare for next development iteration
ypmahajan May 4, 2022
f38458a
Merge branch '2.3.x' into master (using strategy ours)
ypmahajan May 4, 2022
a74abf4
Retry on IOExceptions thrown during table writes (#183)
gharris1727 May 18, 2022
d0e3182
Merge branch '2.0.x' into 2.1.x
gharris1727 May 20, 2022
fc84cf8
Merge branch '2.1.x' into 2.2.x
gharris1727 May 20, 2022
334d1ab
Merge branch '2.2.x' into 2.3.x
gharris1727 May 20, 2022
e88ac22
Merge branch '2.3.x'
gharris1727 May 20, 2022
409c3fa
Retry on IOExceptions thrown during getTable called in put() (#184)
gharris1727 May 20, 2022
ebe143b
Merge branch '2.1.x' into 2.2.x
gharris1727 May 20, 2022
03dd14a
Retry on IOExceptions thrown during getTable called in put() (#184) M…
gharris1727 May 23, 2022
b690eb5
Merge branch '2.2.x' into 2.3.x
gharris1727 May 23, 2022
83c4f81
Merge branch '2.3.x'
gharris1727 May 23, 2022
8ff2e12
[maven-release-plugin] prepare release v2.0.14
gharris1727 May 23, 2022
a7384ff
[maven-release-plugin] prepare for next development iteration
gharris1727 May 23, 2022
92edaf0
[maven-release-plugin] prepare release v2.1.13
gharris1727 May 23, 2022
b7ba077
[maven-release-plugin] prepare for next development iteration
gharris1727 May 23, 2022
6c8737b
[maven-release-plugin] prepare release v2.2.3
gharris1727 May 23, 2022
7f37cd3
[maven-release-plugin] prepare for next development iteration
gharris1727 May 23, 2022
f6abce7
[maven-release-plugin] prepare release v2.3.1
gharris1727 May 23, 2022
199116e
[maven-release-plugin] prepare for next development iteration
gharris1727 May 23, 2022
52925a9
Merge branch '2.0.x' into 2.1.x (using strategy ours)
gharris1727 May 23, 2022
6e05526
Merge branch '2.1.x' into 2.2.x (using strategy ours)
gharris1727 May 23, 2022
1ebcf37
Merge branch '2.2.x' into 2.3.x (using strategy ours)
gharris1727 May 23, 2022
fc240af
Merge branch '2.3.x' into master (using strategy ours)
gharris1727 May 23, 2022
7280e8f
RCCA-7127: Adjust error identification to include multiple missing fi…
aakashnshah Jun 9, 2022
fe75cbc
Merge branch '2.0.x' into 2.1.x by ypmahajan
ConfluentJenkins Jun 14, 2022
37c5071
Merge branch '2.1.x' into 2.2.x by ypmahajan
ConfluentJenkins Jun 14, 2022
612cbb3
Merge branch '2.2.x' into 2.3.x by ypmahajan
ConfluentJenkins Jun 14, 2022
92e4605
Merge branch '2.3.x' into master by ypmahajan
ConfluentJenkins Jun 14, 2022
1f5abaf
[maven-release-plugin] prepare release v2.3.2
ypmahajan Jun 14, 2022
f5c9e9a
[maven-release-plugin] prepare for next development iteration
ypmahajan Jun 14, 2022
d5f4eae
Merge branch '2.3.x' into master (using strategy ours)
ypmahajan Jun 14, 2022
56aa0cf
CCDB-4929: Fixing "Code scanning"/CodeQL warnings. (#229)
ManasjyotiSharma Aug 4, 2022
e03b76f
Merge branch '1.1.x' into 1.2.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
ee7c76e
Merge branch '1.2.x' into 1.3.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
053be4c
Merge branch '1.3.x' into 1.4.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
36340c8
Merge branch '1.4.x' into 1.5.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
4f18cbe
Merge branch '1.5.x' into 1.6.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
ca28306
Merge branch '1.6.x' into 2.0.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
f213c12
Merge branch '2.0.x' into 2.1.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
ecc774f
Merge branch '2.1.x' into 2.2.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
ea152c7
Merge branch '2.2.x' into 2.3.x by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
6c4bb27
Merge branch '2.3.x' into master by ManasjyotiSharma
ConfluentJenkins Aug 4, 2022
dd4a8a9
CCDB-4929: Adding error messages for union operation failure cases. (…
ManasjyotiSharma Aug 9, 2022
d54dae8
Merge branch '2.0.x' into 2.1.x by ManasjyotiSharma
ConfluentJenkins Aug 9, 2022
a36183b
Merge branch '2.1.x' into 2.2.x by ManasjyotiSharma
ConfluentJenkins Aug 9, 2022
ff17dee
Merge branch '2.2.x' into 2.3.x by ManasjyotiSharma
ConfluentJenkins Aug 9, 2022
f0690e4
Merge branch '2.3.x' into master by ManasjyotiSharma
ConfluentJenkins Aug 9, 2022
b9bc6e9
[maven-release-plugin] prepare release v2.3.3
ManasjyotiSharma Aug 25, 2022
7d8a180
[maven-release-plugin] prepare for next development iteration
ManasjyotiSharma Aug 25, 2022
fe6103b
Merge branch '2.3.x' into master (using strategy ours)
ManasjyotiSharma Aug 25, 2022
898f239
Attempting to fix these CVEs: CCDB-4936, CCDB-4836, CCDB-4835. (#216)
ManasjyotiSharma Aug 30, 2022
a924327
Fixing CVEs: CCDB-4936, CCDB-4836 & CCDB-4835. (#231)
ManasjyotiSharma Aug 31, 2022
0ceda9a
Merge branch '2.3.x' into master by manasjyotisharma
ConfluentJenkins Aug 31, 2022
103c059
[maven-release-plugin] prepare release v2.3.4
ManasjyotiSharma Aug 31, 2022
54265fd
[maven-release-plugin] prepare for next development iteration
ManasjyotiSharma Aug 31, 2022
72a489a
Merge branch '2.3.x' into master (using strategy ours)
ManasjyotiSharma Aug 31, 2022
fc858dc
CCDB-5048: Adding topic2Table map support initial commit
sagarrao12 Aug 30, 2022
88edb04
CCDB-5048: Adding table2topic map config to BQ sink connector
sagarrao12 Sep 6, 2022
c5509f7
Review comments addressed
sagarrao12 Sep 9, 2022
80ab3f4
Review comments addressed
sagarrao12 Sep 13, 2022
181fc5c
Merge pull request #233 from confluentinc/CCDB-5048
sagarrao12 Sep 19, 2022
8eaa11c
[maven-release-plugin] prepare branch 2.4.x
ConfluentJenkins Sep 19, 2022
13fb492
[maven-release-plugin] prepare for next development iteration
ConfluentJenkins Sep 19, 2022
9dd2fac
[maven-release-plugin] prepare release v2.4.0
sagarrao12 Sep 19, 2022
0266702
[maven-release-plugin] prepare for next development iteration
sagarrao12 Sep 19, 2022
9b2bfce
Merge branch '2.4.x' into master (using strategy ours)
sagarrao12 Sep 19, 2022
7014431
adding more uniqueness to filename
b-goyal Dec 9, 2022
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
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# See go/codeowners - automatically generated for confluentinc/kafka-connect-bigquery:
* @confluentinc/connect
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
bin/
build/
target/
*.class
*.jar
*.tar
*.zip

.gradle

Expand All @@ -22,6 +24,6 @@ build/
key.json

test.conf
kcbq-connector/src/integration-test/resources/test.properties
kcbq-connector/src/test/resources/test.properties
kcbq-connector/test/docker/connect/properties/
kcbq-connector/out/
32 changes: 0 additions & 32 deletions .travis.yml

This file was deleted.

30 changes: 30 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env groovy
/*
* Copyright 2020 Confluent, Inc.
*
* This software contains code derived from the WePay BigQuery Kafka Connector, Copyright WePay, Inc.
*
* Licensed 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.
*/
common {
slackChannel = '#connect-warn'
nodeLabel = 'docker-oraclejdk8'
publish = false
downStreamValidate = false
secret_file_list = [
['gcp/kcbq', 'creds', '/tmp/creds.json', 'KCBQ_TEST_KEYFILE'],
['gcp/kcbq', 'creds', '/tmp/creds.json', 'GOOGLE_APPLICATION_CREDENTIALS']
]
timeoutHours = 2
}
142 changes: 86 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@
This is an implementation of a sink connector from [Apache Kafka] to [Google BigQuery], built on top
of [Apache Kafka Connect]. For a comprehensive list of configuration options, see the [Connector Configuration Wiki].

## History

This connector was [originally developed by WePay](https://github.com/wepay/kafka-connect-bigquery).
In late 2020 the project moved to [Confluent](https://github.com/confluentinc/kafka-connect-bigquery),
with both companies taking on maintenance duties. All new activity such as filing issues and opening
pull requests should now target the [Confluent](https://github.com/confluentinc/kafka-connect-bigquery)
fork of the project.

## Download

The latest releases are available in the GitHub release tab, or via [tarballs in Maven central](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22kcbq-connector%22).
Expand Down Expand Up @@ -40,25 +48,36 @@ save the properties file.

Once you get more familiar with the connector, you might want to revisit the `connector.properties`
file and experiment with tweaking its settings.

### Building and Extracting a Tarball

#### Migrating to 2.x.x
In accordance with the introduction of schema unionization in version 2.0.0, the following changes
to configs have been introduced and should be made when migrating:
1. `autoUpdateSchemas` has been removed
2. `allowNewBigQueryFields` and `allowBigQueryRequiredFieldRelaxation` have been introduced
3. `allowSchemaUnionization` has been introduced

Setting `allowNewBigQueryFields` and `allowBigQueryRequiredFieldRelaxation` to `true` while
setting `allowSchemaUnionization` to false results in the same behavior that setting `autoUpdateSchemas`
to `true` used to.

### Building and Extracting a Confluent Hub archive

If you haven't already, move into the repository's top-level directory:

```bash
$ cd /path/to/kafka-connect-bigquery/
```

Begin by creating a tarball of the connector with the Confluent Schema Retriever included:
Begin by creating Confluent Hub archive of the connector with the Confluent Schema Retriever included:

```bash
$ ./gradlew clean distTar
$ mvn clean package -DskipTests
```

And then extract its contents:

```bash
$ mkdir -p bin/jar/ && tar -C bin/jar/ -xf kcbq-confluent/build/distributions/kcbq-confluent-*.tar
$ mkdir -p bin/jar/ && cp kcbq-connector/target/components/packages/wepay-kafka-connect-bigquery-*/wepay-kafka-connect-bigquery-*/lib/*.jar bin/jar/
```

### Setting-Up Background Processes
Expand Down Expand Up @@ -131,22 +150,54 @@ adjusting flags given to the Avro Console Producer and tweaking the config setti

## Integration Testing the Connector

> **NOTE**: You must have [Docker] installed and running on your machine in order to run integration
tests for the connector.
### Configuring the tests

You must supply the following environment variables in order to run the tests:

- `$KCBQ_TEST_PROJECT`: The name of the BigQuery project to use for the test
- `$KCBQ_TEST_DATASET`: The name of the BigQuery dataset to use for the test
- `$KCBQ_TEST_KEYFILE`: The key file used to authenticate with BigQuery during the test
- `$KCBQ_TEST_BUCKET`: The name of the GCS bucket to use (for testing the GCS batch loading feature)

The `$KCBQ_TEST_FOLDER` variable can be supplied to specify which subfolder of the GCS bucket should
be used when testing the GCS batch loading feature; if not supplied, the top-level folder will be
used.

### Adding new GCP Credentials & BigQuery DataSet
This section is optional in case one wants to use a different GCP project and generate new creds for that
- **Create a GCP Service Account:** Follow instructions from https://cloud.google.com/iam/docs/creating-managing-service-accounts e.g.
```
gcloud iam service-accounts create kcbq-test --description="service account key for bigquery sink integration test" --display-name="kcbq-test"
```
- **Create Service Account Keys:** Follow instructions from https://cloud.google.com/iam/docs/creating-managing-service-account-keys e.g.
```
gcloud iam service-accounts keys create /tmp/creds.json --iam-account=kcbq-test@<GCP_PROJECT_NAME>.iam.gserviceaccount.com
```
- **Give BigQuery & Storage Admin Permissions to Service Account:**
- Open https://console.cloud.google.com/iam-admin/iam?project=<GCP_PROJECT_NAME>
- Click on Add and enter New Principal as created above e.g. `kcbq-test@<GCP_PROJECT_NAME>.iam.gserviceaccount.com`
- Add following 2 roles from "Select a role" drop down menu:
- BigQuery -> BigQuery Admin
- Cloud Storage -> Storage Admin
- **Add a BigQuery DataSet into the Project:**
- Open https://console.cloud.google.com/bigquery?project=<GCP_PROJECT_NAME>
- Click on the 3 vertical dots against the project name and click on "Create dataset" and follow the steps there.

### Running the Integration Tests

This all takes place in the `kcbq-connector` directory.
```bash
# (Re)builds the project and runs the integration tests, skipping unit tests to save a bit of time
mvn clean package integration-test -Dskip.unit.tests=true
```

### How Integration Testing Works

Integration tests run by creating [Docker] instances for [Zookeeper], [Kafka], [Schema Registry],
Integration tests run by creating embedded instances for [Zookeeper], [Kafka], [Schema Registry],
and the BigQuery Connector itself, then verifying the results using a [JUnit] test.

They use schemas and data that can be found in the `test/docker/populate/test_schemas/` directory,
and rely on a user-provided JSON key file (like in the `quickstart` example) to access BigQuery.

The project and dataset they write to, as well as the specific JSON key file they use, can be
specified by command-line flag, environment variable, or configuration file — the exact details of
each can be found by running the integration test script with the `-?` flag.
They use schemas and data that can be found in the
`kcbq-connector/src/test/resources/integration_test_cases/` directory, and rely on a user-provided
JSON key file (like in the `quickstart` example) to access BigQuery.

### Data Corruption Concerns

Expand All @@ -156,70 +207,49 @@ if you have any tables in your dataset whose names begin with `kcbq_test_` and m
name of any of the `test_schema` subdirectories. If that is the case, you should probably consider
writing to a different project/dataset.

Because Kafka and Schema Registry are run in Docker, there is no risk that running integration
tests will corrupt any existing data that is already on your machine, and there is also no need to
free up any of your ports that might currently be in use by real instances of the programs that are
faked in the process of testing.

### Running the Integration Tests

Running the series of integration tests is easy:

```bash
$ test/integrationtest.sh
```

This assumes that the project, dataset, and key file have been specified by variable or
configuration file. For more information on how to specify these, run the test script with
the `--help` flag.

> **NOTE:** You must have a recent version of [boot2docker], [Docker Machine], [Docker], etc.
installed. Older versions will hang when cleaning containers, and linking doesn't work properly.
Kafka, Schema Registry, Zookeeper, and Kafka Connect are all run as temporary embedded instances, so
there is no risk that running integration tests will corrupt any existing data that is already on
your machine, and there is also no need to free up any of your ports that might currently be in use
by instances of the services that are brought up in the process of testing.

### Adding New Integration Tests

Adding an integration test is a little more involved, and consists of two major steps: specifying
Avro data to be sent to Kafka, and specifying via JUnit test how to verify that such data made
Avro data to be sent to Kafka, and specifying via JUnit test how to verify that such data made
it to BigQuery as expected.

To specify input data, you must create a new directory in the `test/resources/test_schemas/`
directory with whatever name you want the Kafka topic of your test to be named, and whatever
string you want the name of your test's BigQuery table to be derived from. Then, create two files
in that directory:
To specify input data, you must create a new directory in the
`kcbq-connector/src/test/resources/integration_test_cases/` directory with whatever name you want
the Kafka topic of your test to be named, and whatever string you want the name of your test's
BigQuery table to be derived from. Then, create two files in that directory:

* `schema.json` will contain the Avro schema of the type of data the new test will send
through the connector.

* `data.json` will contain a series of JSON objects, each of which should represent an [Avro] record
that matches the specified schema. **Each JSON object must occupy its own line, and each object
cannot occupy more than one line** (this inconvenience is due to limitations in the Avro
* `data.json` will contain a series of JSON objects, each of which should represent an [Avro] record
that matches the specified schema. **Each JSON object must occupy its own line, and each object
cannot occupy more than one line** (this inconvenience is due to limitations in the Avro
Console Producer, and may be addressed in future commits).

To specify data verification, add a new JUnit test to the file
`src/integration-test/java/com/wepay/kafka/connect/bigquery/it/BigQueryConnectorIntegrationTest.java`.
Rows that are retrieved from BigQuery in the test are only returned as _Lists_ of _Objects_. The
names of their columns are not tracked. Construct a _List_ of the _Objects_ that you expect to be
stored in the test's BigQuery table, retrieve the actual _List_ of _Objects_ stored via a call to
`readAllRows()`, and then compare the two via a call to `testRows()`.
To specify data verification, add to the test cases present in the
`kcbq-connector/src/test/java/com/wepay/kafka/connect/bigquery/integration/BigQuerySinkConnectorIT.java`

> **NOTE**: Because the order of rows is not guaranteed when reading test results from BigQuery,
you must include a row number as the first field of any of your test schemas, and every row of test
data must have a unique value for its row number (row numbers are one-indexed).
you must include a numeric column named "row" number in all of your test schemas, and every row of
test data must have a unique value for its row number. When data is read back from BigQuery to
verify its accuracy, it will be returned in ascending order based on that "row" column.

[Apache Avro]: https://avro.apache.org
[Apache Kafka Connect]: http://docs.confluent.io/3.0.0/connect/
[Apache Kafka Connect]: http://docs.confluent.io/current/connect/
[Apache Kafka]: http://kafka.apache.org
[Apache Maven]: https://maven.apache.org
[Avro]: https://avro.apache.org
[BigQuery]: https://cloud.google.com/bigquery/
[boot2docker]: http://boot2docker.io
[Confluent Platform]: http://docs.confluent.io/3.0.0/installation.html
[Confluent Platform]: http://docs.confluent.io/current/installation.html
[Connector Configuration Wiki]: https://github.com/wepay/kafka-connect-bigquery/wiki/Connector-Configuration
[Docker Machine]: https://docs.docker.com/machine/
[Docker]: https://www.docker.com
[Google BigQuery]: https://cloud.google.com/bigquery/
[JUnit]: http://junit.org
[Kafka Connect]: http://docs.confluent.io/3.0.0/connect/
[Kafka Connect]: http://docs.confluent.io/current/connect/
[Kafka]: http://kafka.apache.org
[Maven]: https://maven.apache.org
[Schema Registry]: https://github.com/confluentinc/schema-registry
Expand Down
Loading