Wangyuan Zhang <wyzhang@google.com>: Author Summary

Builds triggered by Wangyuan Zhang <wyzhang@google.com>

Builds triggered by an author are those builds which contains changes committed by the author.
44
7 (16%)
37 (84%)

Breakages and fixes

Broken means the build has failed but the previous build was successful.
Fixed means that the build was successful but the previous build has failed.
4 (9% of all builds triggered)
3 (7% of all builds triggered)
-1
Build Completed Code commits Tests
CDAP › DUT › #3456 1 day ago
[CDAP-18627] Switch DefaultPreviewStore to use new LevelDBTableCore API              Also fix a test breakage for DefaultPreviewStoreTest
Why:
DefaultPreviewStore doesn't need to read/write/delete to levelDB at different versions.
So switch to use new LevelDBTableCore API that operate at max version (i.e. always
overwrite old value). This also provide some performance gain by getRow()->get()
as getRow() internally perform iterator().next while get() is a point lookup
for a specific version.
[CDAP-18627] Remove confusing createEndKey(byte[] row) which just call createStartKey(row)
Why:
 private static byte[] createEndKey(byte[] row) {
    return createStartKey(row); // the first key of the stop is the first to be excluded
  }
This method is confusing as it is NOT creating end key for a row,
instead it assumes the row passed in is the end-row (i.e. excluded) for a scan.
3131 passed
CDAP › RUT › #1640 1 day ago
[CDAP-18627] Remove confusing createEndKey(byte[] row) which just call createStartKey(row)
Why:
 private static byte[] createEndKey(byte[] row) {
    return createStartKey(row); // the first key of the stop is the first to be excluded
  }
This method is confusing as it is NOT creating end key for a row,
instead it assumes the row passed in is the end-row (i.e. excluded) for a scan.
[CDAP-18627] Switch DefaultPreviewStore to use new LevelDBTableCore API              Also fix a test breakage for DefaultPreviewStoreTest
Why:
DefaultPreviewStore doesn't need to read/write/delete to levelDB at different versions.
So switch to use new LevelDBTableCore API that operate at max version (i.e. always
overwrite old value). This also provide some performance gain by getRow()->get()
as getRow() internally perform iterator().next while get() is a point lookup
for a specific version.
3131 passed
CDAP › DRC › #5622 1 day ago
[CDAP-18627] Switch DefaultPreviewStore to use new LevelDBTableCore API              Also fix a test breakage for DefaultPreviewStoreTest
Why:
DefaultPreviewStore doesn't need to read/write/delete to levelDB at different versions.
So switch to use new LevelDBTableCore API that operate at max version (i.e. always
overwrite old value). This also provide some performance gain by getRow()->get()
as getRow() internally perform iterator().next while get() is a point lookup
for a specific version.
Testless build
CDAP › BPP › #1890 1 day ago
[CDAP-18627] Switch DefaultPreviewStore to use new LevelDBTableCore API              Also fix a test breakage for DefaultPreviewStoreTest
Why:
DefaultPreviewStore doesn't need to read/write/delete to levelDB at different versions.
So switch to use new LevelDBTableCore API that operate at max version (i.e. always
overwrite old value). This also provide some performance gain by getRow()->get()
as getRow() internally perform iterator().next while get() is a point lookup
for a specific version.
Testless build
CDAP › DRC › #5621 1 day ago
[CDAP-18627] Remove confusing createEndKey(byte[] row) which just call createStartKey(row)
Why:
 private static byte[] createEndKey(byte[] row) {
    return createStartKey(row); // the first key of the stop is the first to be excluded
  }
This method is confusing as it is NOT creating end key for a row,
instead it assumes the row passed in is the end-row (i.e. excluded) for a scan.
Testless build
CDAP › BPP › #1889 1 day ago
[CDAP-18627] Remove confusing createEndKey(byte[] row) which just call createStartKey(row)
Why:
 private static byte[] createEndKey(byte[] row) {
    return createStartKey(row); // the first key of the stop is the first to be excluded
  }
This method is confusing as it is NOT creating end key for a row,
instead it assumes the row passed in is the end-row (i.e. excluded) for a scan.
Testless build
CDAP › DUT › #3455 1 day ago
[CDAP-18627] Add put,get,getLatest,delete LevelDBTableCore APIs
Why:
Introduce put,get,delete APIs that operate on values at max version,
so caller doesn't need to specify a version when it doesn't care.
Introduce getLatest which returns the value with highest version.
This can be used when caller doesn't know the version number of
the latest value, but want to retrive the latest value.

Introducing these APIs allows simplifying the logic on the caller side.
For instance, a follow-up PR will make preview store to use these APIs.
3131 passed
CDAP › RUT › #1639 1 day ago
[CDAP-18627] Add put,get,getLatest,delete LevelDBTableCore APIs
Why:
Introduce put,get,delete APIs that operate on values at max version,
so caller doesn't need to specify a version when it doesn't care.
Introduce getLatest which returns the value with highest version.
This can be used when caller doesn't know the version number of
the latest value, but want to retrive the latest value.

Introducing these APIs allows simplifying the logic on the caller side.
For instance, a follow-up PR will make preview store to use these APIs.
3131 passed
CDAP › DRC › #5620 2 days ago
[CDAP-18627] Add put,get,getLatest,delete LevelDBTableCore APIs
Why:
Introduce put,get,delete APIs that operate on values at max version,
so caller doesn't need to specify a version when it doesn't care.
Introduce getLatest which returns the value with highest version.
This can be used when caller doesn't know the version number of
the latest value, but want to retrive the latest value.

Introducing these APIs allows simplifying the logic on the caller side.
For instance, a follow-up PR will make preview store to use these APIs.
Testless build
CDAP › BPP › #1888 2 days ago
[CDAP-18627] Add put,get,getLatest,delete LevelDBTableCore APIs
Why:
Introduce put,get,delete APIs that operate on values at max version,
so caller doesn't need to specify a version when it doesn't care.
Introduce getLatest which returns the value with highest version.
This can be used when caller doesn't know the version number of
the latest value, but want to retrive the latest value.

Introducing these APIs allows simplifying the logic on the caller side.
For instance, a follow-up PR will make preview store to use these APIs.
Testless build
Build Completed Code commits Tests
CDAP › RUT › #1634 1 week ago
[CDAP-18627] LevelDB increasing default block size 1K -> 8K
Why:
Larger block size is preferred for scan access pattern.
This is the typical access pattern in CDAP.
1 of 1272 failed
CDAP › DUT › #3450 1 week ago
[CDAP-18627] LevelDB increasing default block size 1K -> 8K
Why:
Larger block size is preferred for scan access pattern.
This is the typical access pattern in CDAP.
1 of 2187 failed
CDAP › RUT › #1005 1 year ago
Fixing a bug in preferences merge method (child take precedence over parent).
Adding test cases for this case
2656 passed
CDAP › DUT › #2808 1 year ago
Fixing a bug in preferences merge method (child take precedence over parent).
Adding test cases for this case
2 of 2654 failed
Build Completed Code commits Tests
CDAP › RUT › #1639 1 day ago
[CDAP-18627] Add put,get,getLatest,delete LevelDBTableCore APIs
Why:
Introduce put,get,delete APIs that operate on values at max version,
so caller doesn't need to specify a version when it doesn't care.
Introduce getLatest which returns the value with highest version.
This can be used when caller doesn't know the version number of
the latest value, but want to retrive the latest value.

Introducing these APIs allows simplifying the logic on the caller side.
For instance, a follow-up PR will make preview store to use these APIs.
3131 passed
CDAP › RUT › #1635 1 week ago
address comment
[CDAP-18627] Enable levelDB periodic compaction (once per 7 days)              Also randomize compactions timings of tables.
Why:
periodic compaction allows us to recycle disk space and discard
tombstones/deletion-markers. This can improve levelDB access latency.
[CDAP-18626] Revive artifact-fetching-and-caching-WITHOUT-unpacking API
Why:
To allow preview runner running with restricted permission (i.e.
no permission to access artifacts on distributed file system or
metadata in external database), we need an API for preview runner
to fetch and cache artifact.

What:
Add back the APIs for ArtifactLocalizer to fetch artifact jar.
[CDAP-18627] Enable levelDB periodic compaction (once per 7 days)              Also randomize compactions timings of tables.
Why:
periodic compaction allows us to recycle disk space and discard
tombstones/deletion-markers. This can improve levelDB access latency.
3124 passed
CDAP › DUT › #3451 1 week ago
[CDAP-18626] Revive artifact-fetching-and-caching-WITHOUT-unpacking API
Why:
To allow preview runner running with restricted permission (i.e.
no permission to access artifacts on distributed file system or
metadata in external database), we need an API for preview runner
to fetch and cache artifact.

What:
Add back the APIs for ArtifactLocalizer to fetch artifact jar.
[CDAP-18627] Enable levelDB periodic compaction (once per 7 days)              Also randomize compactions timings of tables.
Why:
periodic compaction allows us to recycle disk space and discard
tombstones/deletion-markers. This can improve levelDB access latency.
[CDAP-18627] Enable levelDB periodic compaction (once per 7 days)              Also randomize compactions timings of tables.
Why:
periodic compaction allows us to recycle disk space and discard
tombstones/deletion-markers. This can improve levelDB access latency.
address comment
3124 passed