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

DA5-15 Recurring merge from main #5005

Merged
merged 102 commits into from
Nov 7, 2023

Commits on Oct 12, 2023

  1. Configuration menu
    Copy the full SHA
    618344e View commit details
    Browse the repository at this point in the history
  2. CORE-17623 - move-token-selection-processor (#4835)

    Move the Token Selection Processor in the stand-alone worker.
    driessamyn authored Oct 12, 2023
    Configuration menu
    Copy the full SHA
    5340472 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5f3f347 View commit details
    Browse the repository at this point in the history
  4. Revert "CORE-16203 Replace State and Event pattern with Multi-Source …

    …Event Mediator in FlowWorker (#4832)"
    
    This reverts commit 1e949e7.
    vkolomeyko committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    7dcbf24 View commit details
    Browse the repository at this point in the history
  5. CORE-16323: Fix State Manager Optimistic Locking (#4846)

    Fix update and delete SQL statements within the State Manager
    implementation so only the states with the specified key and
    version are updated. This prevents race conditions while executing
    the optimistic locking and also reduces by half the amount of SQL
    statements that needs be executed for every update and delete.
    jujoramos authored Oct 12, 2023
    Configuration menu
    Copy the full SHA
    b97c4d0 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. Configuration menu
    Copy the full SHA
    e43fb77 View commit details
    Browse the repository at this point in the history
  2. CORE-16246 Allow topic configuration overrides (#4857)

    This commit provides the ability to override topic configuration, including replica and partition counts, on the topic create CLI commands and via the Helm chart.
    
    The YAML file output by the topic create preview now includes partitions and replicas fields per topic. These default to the global parameters. These are then consumed by the topic create connect command so can be manually modified between preview and use.
    
    The topic create preview and topic create connect commands also both take an --overides/-o option, which is the optional path to a file of the same format as the preview file. This file's contents are merged to override those generated/passed in.
    
    The contents of this file can be provided as YAML under bootstrap.kafka.overrides.
    davidcurrie authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    a8c33f7 View commit details
    Browse the repository at this point in the history
  3. CORE-16778 Fix exception handling for invalid minimum platform version (

    #4827)
    
    Fixes exception handling for minimum platform version submitted using the MGM API to improve the returned error message.
    YashNabar authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    e4888e7 View commit details
    Browse the repository at this point in the history
  4. CORE-17431 utxo transaction metadata (#4845)

    CORE-17431 Store metadata in utxo_transaction_metadata since it is relatively large but only changes occasionally.
    vlajos authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    e42b16c View commit details
    Browse the repository at this point in the history
  5. CORE-17433 Sandbox cache thread safety (#4844)

    From logs locally and in our resiliency tests it's clear sandbox closing and therefore bundle uninstallation can be performed in multiple threads depending on whether purgeExpiryQueue is called from the cache's executor thread via the removal listener, or as part of some other synchronous cache operation which happens in the thread of the client calling it.
    
    The parallelism in SecManagerForkJoinPool is configured to the number of processors. This means we wont just see the members of SandboxGroupContextCacheImpl manipulated across 2 threads, we will see it across many and it could happen concurrently in periods of significant flow activity.
    
    This change makes the sandbox cache single threaded, meaning we only ever see manipulation of SandboxGroupContextCacheImpl on the same thread - confirmed by examining the logs.
    
    The author of Caffeine states here that using the same thread for the executor is quite acceptable, the Cache itself does little work there: https://stackoverflow.com/questions/68101454/caffeine-combining-both-scheduler-and-executor-service
    simon-johnson-r3 authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    191cd1a View commit details
    Browse the repository at this point in the history
  6. CORE-17368 - Revert fix for missing config 'frequencyOfExpirationPoll…

    …' in ExpirationProcessor (#4839)
    
    We added a new config value to define the polling frequency for the ExpirationProcessor. Previously, the processor failed to reach a healthy lifecycle state when we did a platform upgrade, because there was no mechanism to push the newly introduced config values to Kafka.
    We added a temporary fix which would set the value of the frequencyOfExpirationPoll to a default in case of a missing config exception happens on upgrade.
    
    We now have in place a fix to force initial config reconciliation on platform upgrade scenarios, so this temporary fix should be safe to remove.
    nikinagy authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    9bafc92 View commit details
    Browse the repository at this point in the history
  7. CORE-17688: Fix sandbox level cache (#4841)

    Update sandbox level cache to receive virtualNodeContext to fix CPI upgrade failure
    jennyang-r3 authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    f1be93e View commit details
    Browse the repository at this point in the history
  8. CORE-16234: For persistence api add endpoint and change naming of exi…

    …sting endpoint (#4774)
    
    For the RPC Epic the Persistence api will require two endpoints. One endpoint is already merged which relates to ledger-related persistence. This PR will be making a suggested change to the naming of that endpoint for clarity, and will also add the second endpoint required.
    
    When this work is merged we will have the endpoints:
    /ledger - for ledger persistence
    /persistence - for entity persistence
    emilybowe authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    040c4be View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    158d744 View commit details
    Browse the repository at this point in the history
  10. Revert "CORE-16203 Removed coroutine usage from Multi-Source Event Me…

    …diator. (#4858)"
    
    This reverts commit e43fb77.
    vkolomeyko committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    9141c15 View commit details
    Browse the repository at this point in the history
  11. CORE-17430 Persist reference states into utxo_transaction_sources tab…

    …le and align with column changes (#4849)
    
    The utxo_transaction_sources table has been modified. See CORE-17430 Modify the utxo_transaction_sources table by removing unused columns and renaming corda-api#1288. This PR contains the changes to align with those DB changes.
    Reference states were not persisted in utxo_transaction_sources until now. Added that persisting logic.
    nkovacsx authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    cc2950f View commit details
    Browse the repository at this point in the history
  12. CORE-17604 Moving RPC endpoint paths to consts file (#4862)

    This moves the RPC worker endpoint paths (E.g. `/ledger`) to a common consts file so they can be used to define both client and server config.
    ben-millar authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    2ec6352 View commit details
    Browse the repository at this point in the history
  13. CORE-17411: VNode MGM re-registration improvements (#4851)

    1. Do not rely on order of the requests returned.
    2. Add more logging when re-registration is actually happening.
    vkolomeyko authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    237ef68 View commit details
    Browse the repository at this point in the history
  14. CORE-16419 - template, schema and values yaml changes to support isol…

    …ated state manager db (#4763)
    
    These changes enable an isolated state-manager database to be automatically deployed via the Corda helm chart when db bootstrapping is enabled. 
    
    A state-manager database can be bootstrapped by providing the `bootstrap.db.stateManager` postgres credentials overrides, and a `stateManager.db.host` override, along with credentials in `stateManager.db`. 
    
    If no overrides are provided, the state-manager will be bootstrapped in a schema in the cluster database with cluster credentials. Template functions in _helpers.tpl will fall back to cluster JDBC URL and credentials.
    conalsmith-r3 authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    afab217 View commit details
    Browse the repository at this point in the history
  15. CORE-16203, CORE-17429: Flow changes revert #4856

    CORE-16203, CORE-17429: Flow changes revert
    vkolomeyko authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    02a2bb8 View commit details
    Browse the repository at this point in the history
  16. CORE-17747 remove attachments (#4861)

    Remove the attachment API from UTXO ledger transactions.
    blsemo authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    debeba4 View commit details
    Browse the repository at this point in the history
  17. CORE-16752 - Unclear error message after failed signature verification (

    #4863)
    
    Original scope was: The below conversation shows that if certificate validation fails, it’s unclear which certificate the error refers to. In this case it must refer to the TLS certificate because the session certificate is not used, but the error message should be clearer regardless.
    
    However, we lately merged in a fix where we specify which type of certificate was wrong, so the message should be okay. This change resulted in Internal Server Error 500, which is wrong so modified it to 400.
    nikinagy authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    8c013bf View commit details
    Browse the repository at this point in the history
  18. CORE-16181 Implement RPC Producer that implements RPC client (#4709)

    This PR adds a `RPCClient` which will, in the future, be used by the Multi-source Event Mediator to make calls to Corda workers via RPC. Also included is a simple `HTTPRetryExecutor` which will retry HTTP calls a configurable number of times with incremental backoff and allows for a user-specified set of retryable exceptions.
    ben-millar authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    d5dc203 View commit details
    Browse the repository at this point in the history
  19. CORE-15552 Add findUnconsumedStatesByExactType paging API (#4837)

    Add `findUnconsumedStatesByExactType` to `UtxoLedgerService`, allowing developers to retrieve states by type from the vault in pages. This dissuades developers from retrieving every state from the vault in one go and returning them to a flow.
    
    Reuse the vault-named query logic to create a `findUnconsumedStatesByExactType` API that supports paging without too much extra work.
    
    Remove the non-paged version of `findUnconsumedStatesByExactType` as well.
    lankydan authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    b3b40d3 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    42777ec View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    438bf37 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. Configuration menu
    Copy the full SHA
    25f5bd4 View commit details
    Browse the repository at this point in the history
  2. CORE-17047 Enable duplicate key detection in group policy parsing (#4797

    )
    
    Disallow duplicate key entries in the group policy. Before this change, providing duplicate keys in a static network group policy resulted in the last instance of that key being used (ignoring other instances).
    YashNabar authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    8fab326 View commit details
    Browse the repository at this point in the history
  3. CORE-17429 State metadata support in message processor (#4828)

    Adds support for state metadata to the state and event processor.
    
    Components using the event mediator to process events and states may wish to set metadata alongside the state that is written back to the underlying state storage. This change adds to the StateAndEventProcessor API to facilitate this, as well as migrating existing state and event processors to use this.
    
    ---------
    
    Co-authored-by: James Higgs <[email protected]>
    2 people authored and driessamyn committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    4b8440d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f02e3c4 View commit details
    Browse the repository at this point in the history
  5. CORE-16203 Replace State and Event pattern with Multi-Source Event Me…

    …diator in FlowWorker (#4832)
    
    Using Multi-Source Event Mediator instead of State and Event Subscription in FlowWorker.
    
    Polling consumers and committing offsets performed in mediator thread in a synchronous way (without using coroutines)
    mbrkic-r3 authored and driessamyn committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    867ec06 View commit details
    Browse the repository at this point in the history
  6. CORE-16203 Set linger.ms to 0 for stateAndEvent producer in kafka-mes…

    …saging-defaults.conf
    mbrkic-r3 authored and driessamyn committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    c69a677 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bbb46df View commit details
    Browse the repository at this point in the history
  8. Merge pull request #4887 from corda/driessamyn/merge-perf-int-work-1

    CORE-17429, CORE-16203 - multi-source event mediator
    driessamyn authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    3e20992 View commit details
    Browse the repository at this point in the history
  9. CORE-17625 MGM lookups return active platform version in its own Memb…

    …erInfo (#4855)
    
    After performing a platform upgrade, an MGM’s view of its own MemberInfo is not refreshed, so any lookups performed by such an MGM would continue to show it to be on the older version. This change updates the MembershipGroupReader to decorate the returned MGM MemberInfo (when requested by the MGM) with the active platform version from PlatformInfoProvider. This will be removed on completion of CORE-17811, once support for MGM re-registration is available.
    YashNabar authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    aa14419 View commit details
    Browse the repository at this point in the history
  10. CORE-17487 Parallel flow pipeline and Task Manager (#4731)

    Add support for parallel flows executing within the flow pipeline.
    
    This includes:
    - Temporary multi-thread implementation of the state and event pattern.
    - Using the `SameThreadExecutor` for flow fibers, which causes the fiber to run on the thread that started the fiber.
    - Using a Kryo Pool for Kryo instances, as kryo instances are not thread-safe themselves.
    
    Add `TaskManager` and a `TaskManagerFactory` which is a wrapper around a `ScheduledExecutorService` used for gathering metrics on executing tasks. The built-in Micrometer metrics for executor services are used, along with some additional metrics in the `TaskManager` that are more specific to our use-cases.
    
    ---------
    
    Co-authored-by: Conal Smith <[email protected]>
    lankydan and conalsmith-r3 authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    93771d8 View commit details
    Browse the repository at this point in the history
  11. CORE-17661 5.1 Performance integration - Multi-Source Event Mediator …

    …integration with StateManager (#4874)
    
    Integration of Multi-Source Event Mediator with StateManager.
    mbrkic-r3 authored and driessamyn committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    88d1792 View commit details
    Browse the repository at this point in the history
  12. CORE-17483: Fix configuration change smoke test (#4883)

    Our configuration change test causes the lifecycle components within workers to restart. They receive the updated configuration and restart with their new configuration. We had pushed this test to the end of the run to avoid other tests being affected by the restart.
    
    We have identified two issues with this test:
    * The order we had defined to push the test to the end had not taken effect
    * The code to test the cluster is in a good state did not handle exceptions that naturally happen when a client tries to connect to a server that is restarting; so the test was not waiting for the cluster to reach a good state
    
    To address this we are making the following changes:
    * Extract the configuration change test into its own test class
    * Remove the method order annotation from the test, we want class order instead
    * Increase the `@Order` value to `Int.MAX_VALUE` which is the maximum allowed
       * The default order value is `1073741823`, we previously used `999`, so we were not passing the default
    * Change `startRpcFlow` to use `assertWithRetryIgnoringExceptions` which retries on exception
    josephzunigadaly authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    9513272 View commit details
    Browse the repository at this point in the history
  13. Merge pull request #4890 from corda/driessamyn/merge-perf-int-work-2

    CORE-17661 5.1 Performance integration - Multi-Source Event Mediator integration with StateManager (#4874)
    driessamyn authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    7db834e View commit details
    Browse the repository at this point in the history
  14. CORE-16203 5.1 Performance integration - FlowMapper using Multi-Sourc…

    …e Event Mediator (#4875)
    
    Using Multi-Source Event Mediator instead of State and Event Subscription in FlowMapperWorker.
    
    ---------
    
    Co-authored-by: James Higgs <[email protected]>
    2 people authored and driessamyn committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    33a9bf5 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    73887dc View commit details
    Browse the repository at this point in the history
  16. CORE-17562 Fixed unit test

    mbrkic-r3 authored and driessamyn committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    b965fd8 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. Merge pull request #4891 from corda/driessamyn/merge-perf-int-work-3

    CORE-16203 5.1 Performance integration - FlowMapper using Multi-Source Event Mediator (#4875)
    driessamyn authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    9cef0f3 View commit details
    Browse the repository at this point in the history
  2. CORE-17514 Change the Link Manager to handle bad group policy (#4854)

    This can happen if we can't query the DB worker for the MGM's group policy.
    williamvigorr3 authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    7d2a133 View commit details
    Browse the repository at this point in the history
  3. CORE-16242 - Synchronous RPC Pattern API Implementation for Crypto Wo…

    …rker (#4820)
    
    HTTP RPC server integration into the Crypto processor. Allows Crypto processor to receive HTTP external event requests sent from the flow engine. Client integration will come later.
    thiagoviana authored and driessamyn committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    704b3c6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7465279 View commit details
    Browse the repository at this point in the history
  5. CORE-17045 - Membership platform upgrade test (#4817)

    Description:
    used more generic name for cross version testing cluster
    added ability to define notary service name when onboarding notaries
    nikinagy authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    cc61a52 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #4897 from corda/driessamyn/merge-perf-int-work-5

    CORE-16242, CORE-17822 - Integration with release branch
    driessamyn authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    017e82b View commit details
    Browse the repository at this point in the history
  7. CORE-17627: Add metadata to flow mapper states for mapper status (#4886)

    Adds the state status key to flow mapper state metadata and populates it with the current state.
    
    The metadata key is used by the mapper cleanup logic to ensure that mapper states are removed.
    JamesHR3 authored and driessamyn committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    2a6037a View commit details
    Browse the repository at this point in the history
  8. CORE-17388: Add session timeout metadata to store alongside the check…

    …point (#4889)
    
    Adds session timeout to the metadata stored alongside the checkpoint.
    
    Session timeout is implemented using the state storage lookup mechanism, which requires the metadata to be populated with the session timeout key. The earliest timestamp of session expiry for currently open sessions is the value assigned to this property.
    JamesHR3 authored and driessamyn committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    041a355 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    08daa23 View commit details
    Browse the repository at this point in the history
  10. CORE-17867: Some extra logging for External Messaging (#4906)

    During vNode creation and upgrade.
    vkolomeyko authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    40516d8 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. CORE-17882: Add a route for flow events (#4915)

    Adds a route for flow events to the flow worker event mediator.
    JamesHR3 authored and driessamyn committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    034c4fa View commit details
    Browse the repository at this point in the history
  2. Disable test.

    driessamyn committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    ffc0f34 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #4905 from corda/driessamyn/merge-perf-int-work-6

    CORE-17627, CORE-17388, CORE-17882 - integration with release
    driessamyn authored Oct 18, 2023
    Configuration menu
    Copy the full SHA
    2adfca3 View commit details
    Browse the repository at this point in the history
  4. CORE-16181 Implementing RPC client, routing external events through R…

    …PC (#4885)
    
    This PR adds a new implementation of MessagingClient, RPCClient, handling synchronous calls to the Corda workers via RPC/HTTP with configurable retries.
    
    Includes also a small bug-fix for the task manager.
    
    ---------
    
    Co-authored-by: Miljenko Brkic <[email protected]>
    2 people authored and driessamyn committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    0d868f2 View commit details
    Browse the repository at this point in the history
  5. CORE-17626: Add integration test for flow mapper cleanup (#4907)

    Adds an integration test for mapper cleanup.
    
    Also addresses a small bug where the key for the cleanup event was not serialized correctly.
    JamesHR3 authored and driessamyn committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    82df696 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    aaf7973 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #4923 from corda/driessamyn/merge-perf-int-work-7

    CORE-16181 Implementing RPC client, routing external events through RPC (#4885)
    driessamyn authored Oct 18, 2023
    Configuration menu
    Copy the full SHA
    365d145 View commit details
    Browse the repository at this point in the history
  8. CORE-17843 Flaky test FlowMapperServiceIntegrationTest.testStartRPCDu…

    …plicatesAndCleanup() (#4899)
    
    Fixed stopping event mediator.
    
    FlowMapperServiceIntegrationTest modified to work with event mediator for flow event processing.
    mbrkic-r3 authored Oct 18, 2023
    Configuration menu
    Copy the full SHA
    bed356e View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. CORE-17885: Use explicit conversion of session timeout to long (#4927)

    Adjusts the session timeout processor to use an explicit conversion to long.
    
    When going through a cycle of writing metadata to the state store and reading it out again, the original type of any numeric values is lost. This causes a problem as casts between numerics are not allowed. To address this, the underlying numeric value in the metadata is converted to `Number`, and then explicitly converted to a long.
    
    This additionally introduces a more thorough unit test for the flow event mediator factory, which ensures that routes are correct for different event types.
    JamesHR3 authored Oct 19, 2023
    Configuration menu
    Copy the full SHA
    cb329ab View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. ES-1518: switch to KubernetesAgent class for Jenkins agent definition (

    …#4939)
    
    * use KubernetesAgent to handle creation of `label`, `nodeSelector` and
    `defaultContainer` in more consistent way across many projects
    wzur-r3 authored Oct 20, 2023
    Configuration menu
    Copy the full SHA
    81316bb View commit details
    Browse the repository at this point in the history
  2. CORE-17837 Add UtxoSignedLedgerTransactionKryoSerializer (#4945)

    Add a Kryo serializer for `UtxoSignedLedgerTransaction`.
    
    This fixes a bug where `UtxoSignedLedgerTransaction` was being
    serialized with the Kryo serializer for `UtxoSignedTransaction`, due to
    it implementing the same interface; however, the serializer can only
    correct serialize `UtxoSignedTransaction`s.
    
    Adding a specific serializer means Kryo picks up the correct one to
    serialize and deserialize with.
    lankydan authored Oct 20, 2023
    Configuration menu
    Copy the full SHA
    ba16ab8 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. CORE-17297: Fix incompatible responder flow failure handling (#4949)

    Set SessionStateType.ERROR when creating session state in failure path
    Tom-Fitzpatrick authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    fb24af4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ea1e893 View commit details
    Browse the repository at this point in the history
  3. CORE-17411: Workaround when we encounter enriched MGM request (#4946)

    So that we will not perform re-registration at all in this case.
    Also adding some additional logging.
    vkolomeyko authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    667c483 View commit details
    Browse the repository at this point in the history
  4. CORE-17881: Individual State Manager Per Worker Type (#4948)

    Update Helm Chart so every worker type can configure its own intance
    of the State Manager.
    jujoramos authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    e011b42 View commit details
    Browse the repository at this point in the history
  5. CORE-17834: Allow empty responses from HTTP RPC (#4937)

    * CORE-17834: Allow empty responses from HTTP RPC
    * CORE-17836: Adds the request message key as a custom HTTP header 
    Co-authored-by: Viktor Kolomeyko <[email protected]>
    josephzunigadaly authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    f36fa7f View commit details
    Browse the repository at this point in the history
  6. CORE-17867 - Added logging to VirtualNodeWriteEventHandler (#4959)

    An e2e test is flaky and extra logging is required in order to understand what might be causing issues.
    filipesoliveira authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    8b7e33a View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

  1. Configuration menu
    Copy the full SHA
    5652003 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    549847b View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2023

  1. CORE-17502 - Helm changes to support token selection + state manager (#…

    …4966)
    
    CORE-17502 - Helm changes to support token selection + state manager
    owenstanford authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    2b824f6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9c7d2ea View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b48fc3c View commit details
    Browse the repository at this point in the history
  4. CORE-17883 Moving status code check to HTTPRetryExecutor, retrying on…

    … 404 (#4925)
    
    Stability improvements for the `RPCClient`. We now retry on 4XX and 5XX status codes, and thrown exceptions are wrapped as either `CordaMessageAPIIntermittentException` or `CordaMessageAPIFatalException` so that the FlowEventMediator can handle them appropriately.
    ben-millar authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    8be576d View commit details
    Browse the repository at this point in the history
  5. CORE-17932 ensure the flow service depends on the membership group re…

    …ader providers lifecycle (#4961)
    
    Small fix to ensure the flow engine does not try to run without the membership cache populated and ready.
    LWogan authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    56ed03d View commit details
    Browse the repository at this point in the history
  6. - Increase max request payload (#4972)

    - Configure logging and tracing
    driessamyn authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    b1d7e31 View commit details
    Browse the repository at this point in the history
  7. CORE-17779 add metric for a HTTP RPC Client request (#4901)

    Add a metric to record some information about how long it takes for an RPCClient to receive a response, as well as a distribution of response message size
    LWogan authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    8469a8f View commit details
    Browse the repository at this point in the history
  8. CORE-17389: Process flow timeout events and clean up checkpoints (#4951)

    Problem description
    The flow engine currently responds to scheduled task triggers to produce flow timeout events when a session has timed out. These need to be processed to remove the timed out checkpoint and send any cleanup events (session errors and mapper cleanup events) to the rest of the system. The flow status also needs to be updated.
    
    Solution
    Add a processor for the flow timeout events.
    
    This PR also includes a checkpoint cleanup handler class, which generates the relevant events for when a flow is terminated with an error. This can be reused in the FlowEventExceptionProcessor, although this has not been integrated in this PR. The objective here is to encapsulate this cleanup logic. At present, there is a bug in the flow engine that means not all of this logic is present everywhere it is needed.
    JamesHR3 authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    6281ecc View commit details
    Browse the repository at this point in the history
  9. CORE-17950 make start flow events idempotent (#4965)

    The multi source mediator currently updates the state manager after processing each event in a batch. If there is an error that occurs after this has happened, the consumer will rollback to its last poll position and replay events. The StartFlow event is the only FlowEvent not idempotent. This PR addresses this and will ignore subsequent StartFlowEvents unless the checkpoint is null or we are in a retry state and flow state is null (indicating the StartFlow is what needs to be retried)
    LWogan authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    f8261e3 View commit details
    Browse the repository at this point in the history
  10. CORE-17963: add lock around sandbox (#4973)

    The flow worker now calls sandbox code from multiple threads. This appears to cause problems in the sandbox code, so for now put a reentrant lock around all the interface methods of SandboxGroupContextServiceImpl.
    
    The only potentially issue is that there are callbacks out of the sandbox code when eviction happens, and they will hold the lock. However, this appears to be harmless. Without this test, we saw large network test failures in the first few flows, and with this we are running 14,396 flows without issues.
    
    In future we should review all the code used by the flow worker for thread safety.
    dickon authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    4867017 View commit details
    Browse the repository at this point in the history
  11. CORE-17502: Add token selection HTTP RPC (#4910)

    CORE-17502 - Migrate the flow/token selection RPC from Kafka to the new HTTP RPC Model
    CORE-17503 - Migrate the token selection state model from the Kafka state and event pattern to the new State Manage model
    owenstanford authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    55af914 View commit details
    Browse the repository at this point in the history
  12. CORE-17768 Topology changes - Use new topics (#4931)

    New topology Kafka topics are being used (flow.start, flow.session, flow.mapper.start, flow.mapper.session.in, flow.mapper.session.out).
    
    Consumers are polled sequentially and performance impact (related to topics with low traffic) is mitigated by adjusting configuration:
    - fetch.max.wait.ms = 20
    - pollTimeout = 20ms
    - max.poll.records = 100
    - linger.ms = 50
    - batch.size = 204800
    - partition.assignment.strategy=org.apache.kafka.clients.consumer.CooperativeStickyAssignor
    - group.id=${group}-cooperative
    
    Missing topic permissions are set (CORE-17768 Topology changes - Use new topics corda-api#1306)
    
    ---------
    
    Co-authored-by: James Higgs <[email protected]>
    Co-authored-by: Conal Smith <[email protected]>
    Co-authored-by: Dan Newton <[email protected]>
    Co-authored-by: Dries Samyn <[email protected]>
    Co-authored-by: Omar Awad <[email protected]>
    Co-authored-by: Thiago Viana <[email protected]>
    Co-authored-by: David Currie <[email protected]>
    Co-authored-by: James Higgs <[email protected]>
    Co-authored-by: Ben Millar <[email protected]>
    10 people authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    c706f7c View commit details
    Browse the repository at this point in the history
  13. CORE-17951 - fibre cache staleness check (#4967)

    * Remove un-used API function.
    * Add suspendCount to fibre cache key.
    driessamyn authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    90c857a View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2023

  1. CORE-17733 - SM to update via JDBC in batch (#4935)

    State manager will update states in a batch using a single query with a CTE.
    conalsmith-r3 authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    35d17ae View commit details
    Browse the repository at this point in the history
  2. CORE-18016 rebalance in progress exception should be a transient issu…

    …e not a fatal one (#4981)
    
    currently we are not handling this exception so it is treated as fatal. We should allow the consumer to call poll() to complete the rebalance
    LWogan authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    609ad70 View commit details
    Browse the repository at this point in the history
  3. CORE-17930 - Automated re-registrations triggered by CPI upgrade are …

    …failing intermittently (#4970)
    
    Description:
    There were intermittent failures observed on e2e test branch caused by race condition of registration request persistence on membership side. We were persisting the registration request with different member provided context at 2 places. The member context field is a non-updatable field by default, so it was up to the race condition which version for persisted. However, with the 2nd version re-registration attempts were failing.
    
    Fix:
    Persist same context everywhere.
    Added null check of serial on vnode upgrade.
    Let the persistence update the serial of the request.
    nikinagy authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    946cde9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f4a8f5 View commit details
    Browse the repository at this point in the history
  5. CORE-18014 When a token selection process request fails, due to a sta…

    …te concurrency check, we need to clear the available token cache as it could be invalid. (#4987)
    owenstanford authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    a22c9cb View commit details
    Browse the repository at this point in the history
  6. CORE-18015 Fixed issue where byte array message keys were not added t…

    …o the outgoing HTTP RPC request header correctly. (#4988)
    owenstanford authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    1de54e6 View commit details
    Browse the repository at this point in the history
  7. Merge remote-tracking branch 'origin/release/os/5.1' into vkolomeyko/…

    …e2e-timeout-investigation
    vkolomeyko committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    9738094 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2023

  1. Merge pull request #4985 from corda/vkolomeyko/e2e-timeout-investigation

    CORE-17768: Revert - Topology changes - Use new topics (#4931)
    Omar-awad authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    9b4bf91 View commit details
    Browse the repository at this point in the history
  2. CORE-18017: do query and add under a DB transaction (#4986)

    We have seen TenantInfoService.populate fail with a constraint violation, which is probably a race. The DB operation involves up to two reads and two writes, across two tables, so do it under a transaction and handle the constraint violation.
    dickon authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    704cab0 View commit details
    Browse the repository at this point in the history
  3. CORE-18013 - Guard against race condition in create a scheduled task. (

    …#4983)
    
    * Guard against race condition in create a scheduled task.
    * Test we can return the found entity as part of the transaction
    driessamyn authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    5122adc View commit details
    Browse the repository at this point in the history
  4. CORE-17953: Fix Helm Service Internal Selector (#4993)

    Update internal service definition so that all labels uniquely
    identifying a worker within a deployment ("app.kubernetes.io/name",
    "app.kubernetes.io/instance" and "app.kubernetes.io/component") are
    used when selecting pods for the service endpoint slice. Since multiple
    Corda instances can be deployed within a single Kubernetes namespace,
    failing to configure the internal service so it only references workers
    from within its own deployment causes HTTP requests to be wrongly
    routed to workers in other deployments.
    jujoramos authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    089b8f9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c3076fb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    baffed6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    de8be19 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

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

Commits on Nov 7, 2023

  1. Fix method serialization

    ac101m committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    d9aeaa5 View commit details
    Browse the repository at this point in the history
  2. Update API version

    ac101m committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    39154f9 View commit details
    Browse the repository at this point in the history
  3. Finalize API version

    ac101m committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    18a440f View commit details
    Browse the repository at this point in the history