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

Prod Release 24/09/24 #1021

Merged
merged 17 commits into from
Sep 24, 2024
Merged

Prod Release 24/09/24 #1021

merged 17 commits into from
Sep 24, 2024

Commits on Aug 7, 2024

  1. bug: Mocked context.db update error on map call (#985)

    The mocked context.db update function would try to call map on an
    object, which will fail. The intention was to replace the column values
    with the original ones. It's sufficient to directly print the input
    instead instead.
    darunrs authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    ff5f004 View commit details
    Browse the repository at this point in the history
  2. chore: Log non existant indexer responses (#986)

    Recently, we erroneously encountered "Delete" lifecycle transitions. One
    suspect is RPC responses from the registry contract incorrectly being
    parsed as `None`. This PR logs any RPC response interpreted as `None` so
    we can confirm if this is the culprit.
    morgsmccauley authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    7e2b273 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7e7f6c0 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. feat: UI improvements (#995)

    UI Changes after jam session with Xuan
    Kevin101Zhang authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    a238cb5 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. refactor: Move Context object to new class (#929)

    All logic associated with the creation of the context object resides
    inside the Indexer class, which bloats the file and complicates unit
    testing. In addition, it prevents access to the context object itself so
    that these calls can be made through the Indexer class itself.
    
    This PR refactors this logic into its own class, allowing access to
    context methods through Indexer. The object is still recreated each time
    it is accessed as the object bakes in some state information (block
    height and log entry array) which need to be updated on subsequent
    accesses.
    
    I've also reorganized the folders so that we have fewer folders under
    src as it is getting cluttered.
    darunrs authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    af08c30 View commit details
    Browse the repository at this point in the history
  2. feat: wrap generated wizard code with header code (#997)

    wizard code is wrapped with default header
    Kevin101Zhang authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    5e30e61 View commit details
    Browse the repository at this point in the history
  3. feat: Surface provisioning failures to user (#1002)

    This PR updates provisioning such that user-related errors are written
    to the user-owned logs table, allowing them to debug issues with their
    schema.
    
    Logging to the user table is tricky, since this table is created
    _during_ the provisioning step itself. Therefore, I have split
    provisioning in to two phases:
    1. System Resources - Setups up system related entities: database,
    schema, logs table/jobs etc.
    2. User Resources - Applies user schema, configures Hasura etc.
    
    This separation allows us to isolate the tasks which are likely to fail
    due to user error, and therefore only surface errors which are relevant.
    
    The creation of the logs table _should always succeed_, if it doesn't
    there is something wrong with the system, i.e. some form of bug has been
    introduced. Errors thrown during the System portion of provisioning will
    be error logged to the machine, and I will tune the existing alert so
    that we are notified of these errors.
    
    Additionally, I have converted all non-critical error logs to warnings,
    so that we don't get alerted on non-issues.
    
    closes: #901
    morgsmccauley authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    44bc2eb View commit details
    Browse the repository at this point in the history
  4. chore: Add additional logs for state transitions (#989)

    I added a little bit more logging to the lifecycle state changes, as
    well as renamed the `Stopping/Stopped` states to `Suspending/Suspended`
    states to more accurately capture the intention.
    darunrs authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    4af58bc View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2024

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

Commits on Aug 12, 2024

  1. Configuration menu
    Copy the full SHA
    ab5a836 View commit details
    Browse the repository at this point in the history
  2. type generation for launchpad code (#1001)

    types are now generated for launchpad code
    Kevin101Zhang authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    e759080 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. feat: consolidated checkbox state to single checkbox (#1011)

    consolidated 2 checkboxes 'select all' and 'unselect all' into a single
    checkbox. Default is checked. Onclick would uncheck and subsequent
    clicked woud do vice versa.
    Kevin101Zhang authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    0507e3a View commit details
    Browse the repository at this point in the history
  2. feat: refactor monaco initialization (#1012)

    all removed files:
    ```
    DiffEditorComponent.js
    MonacoEditorComponent.js
    resize.js
    block_details.js 
    ```
    refactored ResizableLayout to house the functionality in a reusable dp.
    Results are some absurdly fast transitions between tabs.
    
    New [Resizable Editor
    File](https://github.com/near/queryapi/blob/f00ab7dc8fa65199a40de1b638970479760b6bfe/frontend/src/components/Editor/EditorComponents/ResizableLayoutEditor.jsx)
    Encompasses logic from
    **MonacoEditorComponent**,**DiffEditorComponent**, **ResizableLayout**,
    **ResizeableLayoutEditor**
    
    Upon refactoring resizable (resize.js), and block_details.js were
    removed as there are no real functionality used around them.
    Kevin101Zhang authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    8dd78c7 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. feat: Idempotent Provisioning (#1004)

    Provisioning is occasionally finnicky, failing on different parts of the
    process. Having retryable provisioning allows us to heal indexer state
    through retries rather than manually actioning this. To this, the
    provisioning step needs to have access to accurate status of
    provisioning in order to make the correct decisions on which
    non-idempotent actions to take.
    
    This PR introduces a ProvisioningState class which represents the status
    of provisioning, and can be used to make decisions on what parts of
    provisioning need to be completed.
    darunrs authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    5633b4a View commit details
    Browse the repository at this point in the history
  2. refactor: Move synchronisation logic to LifecycleManger (#1005)

    This PR moves the synchronisation logic within
    `ExecutorsHandler`/`BlockStreamsHandler` in to `LifecycleManager`. The
    motive behind this is to provide greater awareness/control over the
    individual sync tasks (managing unhealthy, reconfiguring, etc.) to
    `LifecycleManger`.
    
    I plan to build on top of this in my next PR, and have
    `LifecycleManager` count how many times an unhealthy stream/executor was
    restarted, and move the Indexer to `Suspended` if it goes above a
    configured threshold. This refactor makes "counting" actually possible.
    
    Wanted to land the refactor PR first to make review easier.
    morgsmccauley authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    4b46f54 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. chore: Remove unnecessary custom Hasura config (#1020)

    The existing Hasura config is used for setting up the shared logs/state
    tables. This is no longer needed and complicates the setup of QueryAPI,
    therefore I'm removing it.
    morgsmccauley authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    274b011 View commit details
    Browse the repository at this point in the history
  2. chore: Add decomission note to frontend (#1019)

    As QueryAPi is being decommissioned, this PR adds a note to the frontend
    and a link to the documentation, where we can provide additional
    details.
    
    <img width="1519" alt="image"
    src="https://github.com/user-attachments/assets/3eafa001-e71e-48ef-9c89-e38ea5330b64">
    darunrs authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    72f1ff4 View commit details
    Browse the repository at this point in the history