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

Extracting domain client to a separate file and add code coverage #1

Closed
wants to merge 89 commits into from

Commits on Mar 9, 2023

  1. Corrected error messages in getValidatedActivityOptions (uber-go#1224)

    * Improved error messages in getValidatedActivityOptions, also removed redundant call to getActivityOptions
    
    * Added tests for the error messages in getValidatedActivityOptions
    
    * Rolled back to the previous error messages and transformed the three new tests into a table test
    jakobht authored Mar 9, 2023
    Configuration menu
    Copy the full SHA
    5a23998 View commit details
    Browse the repository at this point in the history
  2. Fix TestActivityWorkerStop: it times out with go 1.20 (uber-go#1223)

    The only test that fails with go 1.20 is this one.
    The reason is workerOptions.WorkerActivitiesPerSecond == 0, and it is not augmented in newActivityWorker() - this supposed to be done in callers.
    This breaks task-dispatching: polled tasks are never executed since it is always above the limit(0).
    dkrotx authored Mar 9, 2023
    Configuration menu
    Copy the full SHA
    6db8982 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2023

  1. Fixed the spelling of replay_test file. (uber-go#1226)

    What changed?
    The file was named as reply_test earlier so I changed it to replay_test.
    
    Why?
    The file name was confusing so I updated it to a more meaningful one.
    
    How did you test it?
    locally
    
    Potential risks
    NA
    agautam478 authored Mar 14, 2023
    Configuration menu
    Copy the full SHA
    23fec5c View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2023

  1. Add more detail to how workflow.Now behaves (uber-go#1228)

    Docs are currently a bit vague on what time exactly it represents, which brings up questions like "is this the same as the cron schedule start time" or "what time does it represent if my workers are down for an hour".
    
    So this description was gathered experimentally.
    It may be a good idea to track exactly what updates it and when, but I suspect that the "recorded event" is a complete description.  Or it probably should be.
    Groxx authored Mar 15, 2023
    Configuration menu
    Copy the full SHA
    8fd9d91 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2023

  1. Part1: Record the data type change scenario for shadower/replayer tes…

    …t suite (uber-go#1227)
    
    * Fixed the spelling of replay_test file.
    
    * Added one scenario for greeting workflow.changed activity signature to something incompatible with arguments
    
    * Added all the scenarios for CDNC-4316
    
    * Added all the scenarios for CDNC-4316
    
    * Added supporting documentation for the tests
    
    * Added supporting documentation for the workflow
    agautam478 authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    59996ea View commit details
    Browse the repository at this point in the history
  2. Document ErrResultPending's behavioral gap explicitly (uber-go#1229)

    Resolving this "two kinds of finished-timeout / heartbeat-timeout" issue with ErrResultPending will need some new semantics on the server side... but at least there's a workaround until then.
    
    The general concept of a "pending activity" does seem worth supporting, particularly because it can respond with an "already completed" error when a second "complete" request is received.  It just has unfortunate quirks at the moment.
    Groxx authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    8e6d905 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2023

  1. Added the Activity Registration required failure scenario to replayer…

    … test suite (uber-go#1231)
    
    * Added the Activity Registration required failure scenario to replayer test suite
    
    * Renamed files according to go convention
    
    * added copyright info to the files
    
    * Skipped the test case that panics at incompatible activity returns. This is an expected behaviour and test is included for documentation purposes.
    agautam478 authored Mar 17, 2023
    Configuration menu
    Copy the full SHA
    610f39f View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Shift replayer to prefer io.Reader rather than filenames (uber-go#1234)

    This allows us to move to `//go:embed` or use hard-coded strings (or any other data-source).
    Short-term plans are to use go:embed to read files once / not require runtime access to files, only build.
    Groxx authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    6ad9a67 View commit details
    Browse the repository at this point in the history
  2. Expose activity registry on the workflow replayer (uber-go#1232)

    This is necessary to use worker-instance-registered activities, as otherwise they are unrecognized and may not be able to replay successfully (as a changed activity name is a non-backwards-compatible change).
    Groxx authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    5454503 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. Merged the timeout logic for the tests in internal_workers_test.go (u…

    …ber-go#1225)
    
    * Merged the timeout loging for the tests in internal_workers_test.go
    
    * Fixed the import order and fixed the name of the function
    jakobht authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    342c383 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2023

  1. [error] surface more fields in ContinueAsNew error (uber-go#1235)

    What changed?
    To start a new workflow correctly, we actually need more fields:
    - serialized input
    - header info
    
    Potential risks
    low risk to add NEW receive methods on public struct
    shijiesheng authored Mar 23, 2023
    Configuration menu
    Copy the full SHA
    ebb27dd View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2023

  1. Add and emulate the issues found in the workflows involving coroutine…

    …s into the replayersuite. (uber-go#1237)
    
    * Added tests for parallel workflow
    
    * Added the test for coroutine where removal of branch should have caused failure
    
    * Added copyright info
    agautam478 authored Mar 27, 2023
    Configuration menu
    Copy the full SHA
    f53f72d View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2023

  1. Add the change in branch number case(test) to replayersuite (uber-go#…

    …1236)
    
    * Fixed the spelling of replay_test file.
    
    * Added the Activity Registration required failure scenario to replayer test suite
    
    * Documentation change
    
    * Added test cases for branch workflow
    
    * Added change in number of branches scenario to replayer
    
    * Added copyright info
    
    * Update replay_test.go
    
    * Fixed merge issues
    
    * Added assertion
    
    * Updated assretion
    agautam478 authored Mar 28, 2023
    Configuration menu
    Copy the full SHA
    5ead824 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Locally-dispatched activity test flakiness hopefully improved (uber-g…

    …o#1240)
    
    At least, I finally ran it more than 5x in a row without failure.  yay!
    We should probably just ban bare atomics.
    
    There are occasionally test races between test-completion and zap logging,
    but those are sorta un-resolvable unless we reliably stop everything in
    tests.  Which would be excellent, but I think we're fairly far from
    achieving that at the moment.
    There also seem to still be some flaky runs of these locally-dispatched
    tests, but I'm not sure what the causes is yet.  Still, seems improved.
    Groxx authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    849a82b View commit details
    Browse the repository at this point in the history
  2. Switched to revive, goimports, re-formatted everything (uber-go#1233)

    * Switched to revive, goimports, re-formatted everything
    
    Works pretty well!
    Using latest tools/go.mod versions (except thrift), and using the server's revive.toml for starting out.
    
    Revive is a bit noisy due to some `Id` -> `ID` recommendations, but we probably should actually do that for v2.
    Groxx authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    a73fe0e View commit details
    Browse the repository at this point in the history
  3. Add the case where changing the activities (addition/subtraction/modi…

    …fication in current behavior) in the switch case has no effect on replayer. (uber-go#1238)
    
    * Added the conflicting activity registration bug
    
    * Added copyright info
    
    * Resolved git comments and split the test cases into two
    
    * Cleaned up the code
    
    * Added more comments nit
    agautam478 authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    311a196 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. Replaced Activity.RegisterWithOptions with replayers own acitivty reg…

    …ister (uber-go#1242)
    
    * Fixed the spelling of replay_test file.
    
    * Added the Activity Registration required failure scenario to replayer test suite
    
    * Documentation change
    
    * Removed extra file
    
    * Replaced Activity.RegisterWithOptions with replayers oen acitivty register
    
    * Removed activity from imports: nit
    agautam478 authored Mar 30, 2023
    Configuration menu
    Copy the full SHA
    5571450 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2023

  1. [activity/logging] produce a log when activities time out (uber-go#1243)

    * [cadence-client] produce a log when activities time out
    
    logging when activities time out will help with debugging
    
    * Update internal_task_handlers.go
    sankari165 authored Apr 11, 2023
    Configuration menu
    Copy the full SHA
    18c143a View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2023

  1. Better logging when getting some nondeterministic behaviours (uber-go…

    …#1245)
    
    * Added a better log message for nondeterministic errors
    
    * Upped log level to Error as this is an error
    
    * Created test for the logging update
    
    * Fixed imports
    jakobht authored Apr 24, 2023
    Configuration menu
    Copy the full SHA
    ad91fc7 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2023

  1. make fmt fix (uber-go#1246)

    These just snuck through, possibly we have a gap in our CI.
    Groxx authored Apr 27, 2023
    Configuration menu
    Copy the full SHA
    e9ed409 View commit details
    Browse the repository at this point in the history
  2. Test-suite bugfix: local activity errors were not encoded correctly (u…

    …ber-go#1247)
    
    The added test hopefully reveals the issue - prior to this fix,
    that `err := f.Get(...)` -> `errors.Is(err, ...)` check passed, because
    the error value was not ever encoded into a `*GenericError`.
    
    Thankfully this was only a test environment bug, and a user discovered
    it due to writing tests.
    
    ---
    
    The non-test behavior can be seen split between these two locations:
    - encoding error reason / data: https://github.com/uber-go/cadence-client/blob/ad91fc718330cb40ff26627fa1d1a6c78c2ceaca/internal/internal_event_handlers.go#L1159-L1163
    - constructing the generic error in handleLocalActivityMarker: https://github.com/uber-go/cadence-client/blob/ad91fc718330cb40ff26627fa1d1a6c78c2ceaca/internal/internal_event_handlers.go#L1132-L1135
    
    ... which also show incorrect / pointless string/byte conversions.
    I've left comments there just to prevent confusion, but these fields are
    probably worth changing at some point.
    Groxx authored Apr 27, 2023
    Configuration menu
    Copy the full SHA
    1fed700 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. Extracting the replayer specific utilities into a separate file for r…

    …eadability. (uber-go#1244)
    
    * Fixed the spelling of replay_test file.
    
    * Added the Activity Registration required failure scenario to replayer test suite
    
    * Documentation change
    
    * Removed extra file
    
    * Extracting the replayer specific utilities into a separate file for readability.
    
    * Pulling more helper functions
    
    * Separated all the matching cases
    agautam478 authored Jun 5, 2023
    Configuration menu
    Copy the full SHA
    624721d View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Adding WorkflowType to "Workflow panic" log-message (uber-go#1259)

    It is very expected to have this field, but customers have to walk
    through the stack trace, which is not always convinient especially with
    wrappers.
    dkrotx authored Jun 22, 2023
    Configuration menu
    Copy the full SHA
    407a703 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2023

  1. Adding in additional header to determine a more stable isolation-group (

    uber-go#1252)
    
    * Adding in additional header as a config option to determine a more stable isolation-group
    davidporter-id-au authored Jun 30, 2023
    Configuration menu
    Copy the full SHA
    58f9746 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Configuration menu
    Copy the full SHA
    a072981 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. Emit cadence worker's hardware utilization inside worker once per host (

    uber-go#1260)
    
    * Add hardware monitoring of CPU and RAM metrics on workers
    
    * Use cpu.counts over runtime.numcpu()
    
    * Add host machine tag injection for metrics
    
    * add Sync.Once to ensure metrics is emitted once per worker host
    timl3136 authored Jul 18, 2023
    Configuration menu
    Copy the full SHA
    f5eb256 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Configuration menu
    Copy the full SHA
    225289a View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2023

  1. Configuration menu
    Copy the full SHA
    32f02a1 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. Bump golang.org/x/net from 0.0.0-20220121210141-e204ce36a2ba to 0.7.0 (

    …uber-go#1222)
    
    Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20220121210141-e204ce36a2ba to 0.7.0.
    - [Release notes](https://github.com/golang/net/releases)
    - [Commits](https://github.com/golang/net/commits/v0.7.0)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/net
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Aug 2, 2023
    Configuration menu
    Copy the full SHA
    1396f56 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. Bump github.com/prometheus/client_golang from 1.4.1 to 1.11.1 (uber-g…

    …o#1264)
    
    Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.4.1 to 1.11.1.
    - [Release notes](https://github.com/prometheus/client_golang/releases)
    - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
    - [Commits](prometheus/client_golang@v1.4.1...v1.11.1)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/prometheus/client_golang
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Aug 3, 2023
    Configuration menu
    Copy the full SHA
    7b2963d View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. Update internal version constant (uber-go#1266)

    * bump internal version
    
    * Empty-Commit
    3vilhamster authored Aug 15, 2023
    Configuration menu
    Copy the full SHA
    0bccfc8 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. Configuration menu
    Copy the full SHA
    c0f5bb0 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2023

  1. Add a structured error for non-determinism failures (uber-go#1269)

    This is being added for a few reasons:
    
    1. it's useful information, and an unstructured error has no way to safely communicate it
    2. previously these were un-typed errors, so this custom type can be added without breaking backwards compatibility
    3. we want to use it to expose more information about shadow-test failures, which are currently far more opaque than they need to be
    
    Shadow tests are opaque for a lot of reasons that need to be improved, but enhancing the error is a pretty straightforward first step.  And it seems useful in general.
    
    This intentionally does *not* change the `.Error()` text, largely just because I didn't see any reason to do so.  The error strings are reasonably well-known and there doesn't seem to be any major benefit that can be gained by improving them... currently.
    That said, these strings *must not* be considered stable in general, and we should consider changing them in the future.
    Groxx authored Aug 31, 2023
    Configuration menu
    Copy the full SHA
    9fdcd4f View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2023

  1. Only log failed heartbeats if the error is not CanceledError (uber-go…

    …#1271)
    
    * Lowered the log level to info as this floods logs when canceling workflows
    
    * Changed from lowering the error level to just checking if it's a canceled error
    jakobht authored Sep 12, 2023
    Configuration menu
    Copy the full SHA
    4dd2716 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2023

  1. Refactor failed heartbeats log (uber-go#1273)

    * Refactored the log type check
    
    * Wrong check - reversed
    
    * Added nil check
    
    * Added tests, and fixed nil error
    jakobht authored Sep 21, 2023
    Configuration menu
    Copy the full SHA
    cd0c3ad View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Bumbed version (uber-go#1274)

    * Bumbed version
    
    * Updated changelog
    jakobht authored Sep 25, 2023
    Configuration menu
    Copy the full SHA
    bdc3c39 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. Configuration menu
    Copy the full SHA
    c0700c7 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2023

  1. Create new poller thread pool usage metrics (uber-go#1275)

    Create new poller thread pool usage metrics. ConcurrentTaskQuota is the number of buffer in poller thread channel and ConcurrentTaskRunning is current utilization of that channel.
    If ConcurrentTaskRunning is exceeding ConcurrentTaskQuota, polling will halt and result in under utilization and backlog as a result.
    timl3136 authored Oct 10, 2023
    Configuration menu
    Copy the full SHA
    9909396 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. Tracking cache invalidation for different types of workflow depends o…

    …n their runtime length (uber-go#1277)
    
    inject workflow execution timeout into getOrCreateWorkflowContext func and emit a new tag based on that timeout
    timl3136 authored Oct 19, 2023
    Configuration menu
    Copy the full SHA
    f4a06eb View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. Configuration menu
    Copy the full SHA
    a44a6d3 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2023

  1. Fixed error log (uber-go#1284)

    What changed?
    We currently log the wrong error which is always nil, so fixed to log the correct error
    
    Why?
    Because we log the wrong error
    
    How did you test it?
    N/A
    
    Potential risks
    Very low, just changing a log
    jakobht authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    1b4849b View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. add WithTaskListMapper and WithWorkflowTasklistMapper utils for workf…

    …low executions (uber-go#1286)
    
    What changed?
    
    Added util functions to change tasklists (activity tasklists and workflow tasklists)
    Why?
    
    This is needed for internal usage to support tenancy separation
    shijiesheng authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    4b47141 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2023

  1. Fix workflow interceptor is not propagated correctly for child workfl…

    …ows in TestWorkflowEnv (uber-go#1289)
    
    <!-- Describe what has changed in this PR -->
    **What changed?**
    
    Workflow interceptor in child env is not populated from parent env. 
    
    <!-- Tell your future self why have you made these changes -->
    **Why?**
    
    This is needed to correctly mock production env
    shijiesheng authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    ae5a7e6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e18e46c View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Configuration menu
    Copy the full SHA
    e537cbf View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. Add GetActivityTaskList and GetWorkflowTaskList utils to replace With…

    …TaskListMapper utils (uber-go#1292)
    
    What changed?
    
    Remove WithTasklist utils introduced in uber-go#1286
    Instead, users should use the new GetTaskList and With*TaskList APIs.
    
    For future as discussed with @Groxx, it's better to have a functional API to replace all "With*".
    
    For example:
    ExecuteChildWorkflow(ctx, type, child.Args(all, args), child.WorkflowID("asdf'))
    
    Why?
    With**TaskList APIs are confusing and it's better to remove it
    shijiesheng authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    ca98885 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. Configuration menu
    Copy the full SHA
    ae76f5f View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Honor non-determinism fail workflow policy (uber-go#1287)

    What changed?
    Users can specify NonDeterministicWorkflowPolicy in worker options. If the FailWorkflow policy is chosen the workflow is expected to terminate as soon as it ends up with a nondeterministic state (e.g. activity order changed).
    However this wasn't honored for a category of nondeterminism cases. This PR addresses it and workflows fail once any nondeterminism scenario is encountered.
    
    There are two categories of nondeterminism cases in terms of how they get detected by client library:
    1. Issue bubbles up as illegal state panic to the task handler. Most actual prod cases.
    2. Issue is caught when comparing replay decisions with history. Replay test scenarios and a subset of prod cases.
    
    FailWorkflow policy was honored for 2 but not for 1.
    
    Why?
    To make NonDeterministicWorkflowPolicy feature correct/complete.
    
    How did you test it?
    Added an integration test to simulate this scenario.
    taylanisikdemir authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    4cf8503 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Calculate workflow history size and count and expose that to client (u…

    …ber-go#1270)
    
    Enable client side estimated history size exposure via API
    timl3136 authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    c20b993 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. Configuration menu
    Copy the full SHA
    c0370e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8b2713e View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2023

  1. Add retractions (uber-go#1298)

    * add retracts
    
    * removed all pre-release versions
    arzonus authored Nov 23, 2023
    Configuration menu
    Copy the full SHA
    5b6414d View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2023

  1. Release v1.2.6 (uber-go#1299)

    * update LibraryVersion to 1.2.0
    
    * add changes of 1.2.0 to changelog
    
    * update LibraryVersion to 1.2.6
    
    * fix typo
    arzonus authored Nov 24, 2023
    Configuration menu
    Copy the full SHA
    85fcaa8 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. Configuration menu
    Copy the full SHA
    4e88930 View commit details
    Browse the repository at this point in the history
  2. Change logging to debug level and add more details to prevent confusi…

    …on (uber-go#1300)
    
    What changed?
    Change warning message for unknown event type to debug level
    
    Why?
    It's creating too much warning log that overwhelm system
    
    How did you test it?
    Unit test
    
    Potential risks
    Only remove logger so no danger
    timl3136 authored Dec 4, 2023
    Configuration menu
    Copy the full SHA
    16c678e View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Configuration menu
    Copy the full SHA
    10c5f9c View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. Configuration menu
    Copy the full SHA
    77feef5 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Configuration menu
    Copy the full SHA
    196c51c View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. Addressing difference in workflow interceptors when using the testkit (

    …uber-go#1257)
    
    Co-authored-by: Shijie Sheng <shengs@uber.com>
    Co-authored-by: agautam478 <72432016+agautam478@users.noreply.github.com>
    3 people authored Jan 29, 2024
    Configuration menu
    Copy the full SHA
    e31ba38 View commit details
    Browse the repository at this point in the history
  2. Making Workflow and Activity registration optional when they are mock…

    …ed (uber-go#1256)
    
    Co-authored-by: agautam478 <72432016+agautam478@users.noreply.github.com>
    edmondop and agautam478 authored Jan 29, 2024
    Configuration menu
    Copy the full SHA
    2e73362 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2024

  1. Configuration menu
    Copy the full SHA
    d37290d View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2024

  1. Configuration menu
    Copy the full SHA
    6decfc7 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Configuration menu
    Copy the full SHA
    10ebf6b View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. Tests for Continue as New and one additional scenario (uber-go#1313)

    * replay test sequential
    
    * Add replay test case for problematic continue-as-new case
    
    * fix
    
    * Made minor comment fixes and expected error handling
    
    ---------
    
    Co-authored-by: taylan isikdemir <taylan@uber.com>
    agautam478 and taylanisikdemir authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    9cc8453 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Configuration menu
    Copy the full SHA
    4985100 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Release v1.2.8 (uber-go#1314)

    * Release v1.2.7
    
    * Release v1.2.8
    
    * Empty commit to trigger github CI
    
    ---------
    
    Co-authored-by: Tim Li <ltim@uber.com>
    Co-authored-by: Tim Li <47233368+timl3136@users.noreply.github.com>
    3 people authored Feb 29, 2024
    Configuration menu
    Copy the full SHA
    bc2753a View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Revert breaking changes in v1.2.8 (uber-go#1315)

    * Revert "Making Workflow and Activity registration optional when they are mocked (uber-go#1256)"
    
    This reverts commit 2e73362.
    
    * Revert "Addressing difference in workflow interceptors when using the testkit (uber-go#1257)"
    
    This reverts commit e31ba38.
    ketsiambaku authored Mar 1, 2024
    Configuration menu
    Copy the full SHA
    641292b View commit details
    Browse the repository at this point in the history
  2. Release v1.2.9 (uber-go#1317)

    * Release v1.2.7
    
    * Release v1.2.8
    
    * Empty commit to trigger github CI
    
    * add retract directive for v1.2.8
    
    * Update version and changelog
    
    ---------
    
    Co-authored-by: Tim Li <ltim@uber.com>
    Co-authored-by: Tim Li <47233368+timl3136@users.noreply.github.com>
    Co-authored-by: Jakob Haahr Taankvist <jht@uber.com>
    4 people authored Mar 1, 2024
    Configuration menu
    Copy the full SHA
    ec5b8c4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0d1f929 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2024

  1. Configuration menu
    Copy the full SHA
    00ff688 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. Configuration menu
    Copy the full SHA
    ba7fa67 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. Add documentation for propagators and how they are executed (uber-go#…

    …1312)
    
    Clarify behavior on return of error
    Document the whole execution sequence
    
    Docs added to both internal package and exposed type alias due to:
    golang/go#44905
    
    Signed-off-by: Alexander Shopov <ashopov@uber.com>
    Co-authored-by: David Porter <contact@davidporter.id.au>
    alshopov and davidporter-id-au authored Mar 20, 2024
    Configuration menu
    Copy the full SHA
    f578fed View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. Configuration menu
    Copy the full SHA
    81a37e4 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Configuration menu
    Copy the full SHA
    d17db37 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2024

  1. Pin mockery and regenerate everything (uber-go#1328)

    Seems like this has been left un-pinned and un-documented for a long time.
    Might as well fix that, so we can address the new async APIs in e.g. uber-go#1327 in a standardized way.
    Groxx authored Apr 1, 2024
    Configuration menu
    Copy the full SHA
    a55fc13 View commit details
    Browse the repository at this point in the history
  2. Server-like make build and ensuring builds are clean in CI (uber-go…

    …#1329)
    
    There's more work to be done, but it's a major step towards forcing stability.
    
    Oddly, missing the safe.directory git setting leads to Go failing to get version info, leading to errors building, but for some reason it doesn't show the error that git's reporting (missing safe directory).  Just stuff like this with no other output:
    ```
    error obtaining VCS status:
    	Use -buildvcs=false to disable VCS stamping.
    ```
    
    Once I fixed that, I learned that `go test -exec nonexistent ./... >/dev/null` errors, but the "FAIL: command nonexistent not found" error is.... reported on stdout, so it's hidden.
    And so is the "FAIL the/package/name" message.
    But if you have a failing build, the failure *is* printed to stderr:
    ```
    ❯ go test -exec true ./... >/dev/null
    # go.uber.org/cadence/evictiontest
    evictiontest/workflow_cache_eviction_test.go:58:4: missing ',' in composite literal
    ```
    I have no idea why `-exec nonexistent` isn't on stderr, but I left a comment in the makefile anyway.
    
    Quite a large amount of weird stuff condensed into a seemingly simple goal.
    Groxx authored Apr 1, 2024
    Configuration menu
    Copy the full SHA
    68afcb9 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2024

  1. Configuration menu
    Copy the full SHA
    08b284a View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2024

  1. Internal workflow client test improvements (uber-go#1331)

    Followups from uber-go#1327:
    
    1. simplifying the memo/search-attr encoding tests
    2. making sure the dataconverter tests can detect correct vs incorrect encoder use 
    
    1 is pretty simple: memos and search attrs are ALWAYS JSON because the server must interpret them, so the exact bytes should not change in the future.  A hardcoded string is easy to verify, and strengthens the guarantee that "this should not change even if other encoding changes".
    
    2 is more interesting: as originally written, the test would still pass if the custom dataconverter was *not* saved and used.
    The type-assertion to check the internal field somewhat prevents that, but it's unnecessary and a disjointed check.
    So it has been rewritten: now the serialized request bytes must clearly come from the test encoder, not the default encoder, and they must be detectably different.
    Groxx authored Apr 5, 2024
    Configuration menu
    Copy the full SHA
    3ca6328 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. Migrate CI from AWS queues to Google Kubernetes Engine queues (uber-g…

    …o#1333)
    
    * Migrate CI from AWS queues to Google Kubernetes Engine queues
    
    - Add necessary k8s plugin config to the pipeline for use with GKE + Buildkite's agent-stack-k8s helm stack
    - Remove docker agent tag filter
    - Install bk agent in Dockerfile for use in the code coverage step
    - Add comment on source of buildkite-agent installation commands
    - Add comment on yq explode usage to the top of pipeline.yml
    mstifflin authored Apr 18, 2024
    Configuration menu
    Copy the full SHA
    7f81710 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. Configuration menu
    Copy the full SHA
    73b12d5 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. Bump x/tools for tools, to support go 1.22 (uber-go#1336)

    Mockery is currently failing on go 1.22 on Linux due to golang/go#64812
    tl;dr, changes in go 1.22 break the popular `x/tools/go/packages.Load` tool, which Mockery uses.
    
    Upgrading our tools' `x/tools` (to latest) resolves it, and appears to work fine for go 1.19 and above on both Linux and OSX, and has zero effect on our users.
    Groxx authored May 20, 2024
    Configuration menu
    Copy the full SHA
    fc1d544 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f5ec359 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. Fixing unit_test failure detection, and tests for data converters (ub…

    …er-go#1341)
    
    Apparently these also failed on the original PR, but due to missing a `\` in uber-go#1303 it wasn't failing in CI because the env var was gone by the time `exit` ran.
    I should really take that as a hint to finally rewrite that chunk of the makefile, so it just does a normal `go test ./...` :\  but not today.
    
    Thankfully this seems to be the only set of tests that snuck past, and they were just incorrect.
    I'm not sure why I apparently didn't run them or something while writing them in uber-go#1331 but it seems pretty clear I didn't since the old pre-merge SHA fails too.  Bleh.
    
    ---
    
    To correct the tests' original flaws:
    1. memos *are* supposed to be encoded by custom dataconverters, and they are.  we don't search them so they're not JSON like search attrs are, they're just blobs we expose in list APIs (and in workflow metadata).
    2. `Equal(string, []byte)` just doesn't work, and the default dataconverter adds a trailing newline to separate args.
    3. the `[]byte`-heavy copypasta meant the Input-checking tests were odd, so I changed them, and fixed the args to the dataconverter.  Internally we splat the args in here, so it's not `[]interface{..}`-packed: https://github.com/uber-go/cadence-client/blob/6decfc78571a9d91d943815ae3a445a3bc115fa8/internal/internal_worker.go#L573-L579
    Groxx authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    bf68484 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Add methods on Worker to get registered workflows and activities (ube…

    …r-go#1342)
    
    Introduce the following methods to the WorkflowRegistry and ActivityRegistry interfaces:
    
    GetRegisteredWorkflows
    GetWorkflowAlias
    GetWorkflowFn
    GetRegisteredActivities
    GetActivityAlias
    GetActivityFn
    The logic already exists in the internal implementation of the registry but not exposed to the public API.
    Also implement these methods for WorkflowReplayer and WorkflowShadower.
    Update unit tests so that they now call the top level methods.
    
    Why?
    To expose on Uber internal debug page
    
    How did you test it?
    Unit tests
    Tested on staging environment
    
    Potential risks
    Worst case: these methods return unexpected result
    ketsiambaku authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    13c2821 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. Implement the registered workflows and activities APIs in testsuite (u…

    …ber-go#1343)
    
    Update TestActivityEnvironment with new APIs so that it implements the ActivityRegistry interface
    Update TestWorkflowEnvironment with new APIs so that it implements the Registry interface
    ketsiambaku authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    9a7e9b7 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    92b8307 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Configuration menu
    Copy the full SHA
    afa1a4c View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. Partial fix for Continue as new case (uber-go#1347)

    * Partial fix for Continue as new case
    
    * Partial fix for Continue as new case
    agautam478 authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    d3b79f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. Extracting domain client to a separate file

    It has nothing to do with workflow_client - they don't depend on each
    other.
    Also extract retryWhileTransientError as the same code-block used
    everywhere in internal package. // gonna replace it later
    dkrotx committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    38480e6 View commit details
    Browse the repository at this point in the history