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.
96
16 (17%)
80 (83%)

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.
10 (10% of all builds triggered)
7 (7% of all builds triggered)
-3
Build Completed Code commits Tests
CDAP › RUT › #1827 4 weeks ago
[CDAP-19148] Change logging level from debug to trace in caching location code
Why:
Debug logging level spams the log
1330 passed
CDAP › DUT › #3648 4 weeks ago
[CDAP-19148] Change logging level from debug to trace in caching location code
Why:
Debug logging level spams the log
1 of 3327 failed
CDAP › DRC › #5896 4 weeks ago
[CDAP-19148] Change logging level from debug to trace in caching location code
Why:
Debug logging level spams the log
Testless build
CDAP › DUT › #3587 2 months ago
[CDAP-18937] Code cleanup: rename Count -> Counter
1 of 2734 failed
CDAP › RUT › #1769 2 months ago
[CDAP-18937] Code cleanup: rename Count -> Counter
2 of 2315 failed
CDAP › DRC › #5816 2 months ago
[CDAP-18937] Code cleanup: rename Count -> Counter
Testless build
CDAP › DUT › #3565 2 months ago
Update GCS bucket field description in compute profile to be more accurate
3260 passed
CDAP › RUT › #1749 2 months ago
Update GCS bucket field description in compute profile to be more accurate
3260 passed
CDAP › DRC › #5784 2 months ago
Update GCS bucket field description in compute profile to be more accurate
Testless build
CDAP › DUT › #3534 3 months ago
[CDAP-18322] Set emtpy runtime token in http header instead of enforcing the presence
Why:
Currently the runtime token is unset for runtime  /ping request. Enforcing
the presence of runtime token would cause runtime service not able to properly respond
3242 passed
Build Completed Code commits Tests
CDAP › DUT › #3587 2 months ago
[CDAP-18937] Code cleanup: rename Count -> Counter
1 of 2734 failed
CDAP › DUT › #3507 3 months ago
[CDAP-18322] Fix 2 issues with internal auth: start tokenmanager sooner and auth context for program
1. Start TokenManager serivce first in the AppFab startup, since
   other services may depend on it during their startup process
   when internal auth is enabled.
2. Use WorkerAuthenticationContext for program containers
3 of 2271 failed
CDAP › DUT › #3500 3 months ago
[CDAP-18322] Fix missing internal auth binding in SystemAppTask.
Why:
Need binding for TokenManager and TokenValidator required by
DefaultInternalAuthenticator
1 of 2265 failed
CDAP › DUT › #3484 4 months ago
[CDAP-18322] Set auth headers when ArtifactLocalizerClient requests localizing artifacts
Why:
When main container (e.g. task worker or preview runner container) requests localizing
artifact, the end user credential should be attached to the request in order for
making authorization checks on the server side.
[CDAP-18322] Mount secret in sidecar ArtifactLocalizer but not in preview runner and task worker
Why:
cdap-secret shouldn't be exposed to preview runner and task worker containers
which run user provided and untrusted code. But it can be mounted in sidecar
ArtifactLocalizer container which only run system/trusted code. Mounting
the secret there allows requests originated by ArtifactLocalizer to be authenticated
as system code to perform system-level operations (e.g. fetching artifacts to
prewarm local caches for task worker containers)
[CDAP-18322] Make WorkerAuthenticationContext get principal from SecurityRequestContext
Why:
The implementation of WorkerAuthenticationContext was incomplete.
This context is meant to be used by request processing in containers running user
provided and untrusted code. Normally there is an end user credential associated with
such requests stored in SecurityRequestContext.
1 of 2239 failed
CDAP › RUT › #1651 5 months ago
[CDAP-18694] Allow preview runner to fetch metadta from AppFab and use sidecar for fetching and caching aritfacts
What:
When artifact localizer is enabled, support preview runner to
fetch metadata and artifacts from AppFab instead of directly
from metadata DB (i.e. sql) and from distributed file system.

It actives this by making preview runner
* fetching metadata from AppFab via remote implementations of artifact repository, plugin finder, preference
* fetching artifact from AppFab via artifact localizer running in sidecar container.

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).
1 of 2217 failed
CDAP › RUT › #1649 5 months ago
[CDAP-18694] Create artifact localizer sidecar for preview runner               when enabled in cConf
Why:
Preview runner may run arbitrary user code, so in some deployment
env it may be refrained from accessing artifact jar directly
(e.g. CDAP deployed in GKE and artifacts stored in GCS)

What:
This change adds an option to allow starting up artifact localizer
sidecar container, which can fetch and cache artifact on behalf
this preview runner (to be implemented in next PR)
1 of 2216 failed
CDAP › DUT › #3450 6 months 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 › #1634 6 months 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 › #2808 2 years ago
Fixing a bug in preferences merge method (child take precedence over parent).
Adding test cases for this case
2 of 2654 failed
CDAP › RUT › #1005 2 years ago
Fixing a bug in preferences merge method (child take precedence over parent).
Adding test cases for this case
2656 passed
Build Completed Code commits Tests
CDAP › RUT › #1749 2 months ago
Update GCS bucket field description in compute profile to be more accurate
3260 passed
CDAP › RUT › #1717 3 months ago
[CDAP-18322] Set emtpy runtime token in http header instead of enforcing the presence
Why:
Currently the runtime token is unset for runtime  /ping request. Enforcing
the presence of runtime token would cause runtime service not able to properly respond
3242 passed
CDAP › DUT › #3534 3 months ago
[CDAP-18322] Set emtpy runtime token in http header instead of enforcing the presence
Why:
Currently the runtime token is unset for runtime  /ping request. Enforcing
the presence of runtime token would cause runtime service not able to properly respond
3242 passed
CDAP › RUT › #1667 4 months ago
[CDAP-18322] Make WorkerAuthenticationContext get principal from SecurityRequestContext
Why:
The implementation of WorkerAuthenticationContext was incomplete.
This context is meant to be used by request processing in containers running user
provided and untrusted code. Normally there is an end user credential associated with
such requests stored in SecurityRequestContext.
[CDAP-18322] Set auth headers when ArtifactLocalizerClient requests localizing artifacts
Why:
When main container (e.g. task worker or preview runner container) requests localizing
artifact, the end user credential should be attached to the request in order for
making authorization checks on the server side.
[CDAP-18322] Mount secret in sidecar ArtifactLocalizer but not in preview runner and task worker
Why:
cdap-secret shouldn't be exposed to preview runner and task worker containers
which run user provided and untrusted code. But it can be mounted in sidecar
ArtifactLocalizer container which only run system/trusted code. Mounting
the secret there allows requests originated by ArtifactLocalizer to be authenticated
as system code to perform system-level operations (e.g. fetching artifacts to
prewarm local caches for task worker containers)
3177 passed
CDAP › RUT › #1639 5 months 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 6 months 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 6 months 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