Skip to content

Commit

Permalink
Update docs for Restate 1.1.0 (#451)
Browse files Browse the repository at this point in the history
* Update for Restate 1.1.0

* Update Python SDK to 0.3.0

* Add a Rust SDK placeholder

* Fixup links

* Link to Rust template
  • Loading branch information
pcholakov authored Sep 10, 2024
1 parent b98b71b commit bc06bc0
Show file tree
Hide file tree
Showing 8 changed files with 512 additions and 53 deletions.
7 changes: 7 additions & 0 deletions docs/develop/rust/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"label": "Rust SDK",
"position": 5,
"link": {
"type": "generated-index"
}
}
14 changes: 14 additions & 0 deletions docs/develop/rust/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
sidebar_position: 1
description: "Get an idea of what a Restate Rust service looks like."
---

import Admonition from '@theme/Admonition';

# Overview

The Restate Rust SDK is open source and can be found on GitHub: ([sdk-rust repo](https://github.com/restatedev/sdk-rust)).

<Admonition type="info" icon="🚧" title="Work in progress">
The Rust SDK documentation is still under construction. Please refer to the [Rust hello-world template](https://github.com/restatedev/examples/tree/main/templates/rust) and the [`restate-sdk` crate docs](https://docs.rs/restate-sdk/latest/restate_sdk/) to get started.
</Admonition>
26 changes: 23 additions & 3 deletions docs/references/errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Suggestions:

* Up/Downgrade your Restate server to the requested version.
* Migrate your data to the requested version by running the migration scripts.
* Wipe your meta storage directory to start afresh via `--wipe=meta`.
* Wipe your meta storage directory to start afresh via `rm -rf <BASE_DIR>/<NODE_NAME>/local-metadata-store`.
* Configure a different meta storage directory via `meta.storage_path`.

<h2 class="anchor anchorWithStickyNavbar_node_modules-@docusaurus-theme-classic-lib-theme-Heading-styles-module" id="META0011">META0011<a href="#META0011" class="hash-link">&#8203;</a></h2>
Expand All @@ -71,7 +71,7 @@ Non-empty meta storage directory, configured via `meta.storage_path`, is missing

Suggestions:

* Wipe your meta storage directory to start afresh via `--wipe=meta`.
* Wipe your meta storage directory to start afresh via `rm -rf <BASE_DIR>/<NODE_NAME>/local-metadata-store`.
* Configure a different meta storage directory via `meta.storage_path`.
* Downgrade your Restate server to {'<='} 0.7.

Expand All @@ -95,6 +95,26 @@ Suggestions:
* Either deploy a server version which is compatible with your SDK
* Or use an SDK version which is compatible with your server

<h2 class="anchor anchorWithStickyNavbar_node_modules-@docusaurus-theme-classic-lib-theme-Heading-styles-module" id="META0014">META0014<a href="#META0014" class="hash-link">&#8203;</a></h2>

Service discovery response failed, and the server may have responded in HTTP1.1.
This can happen when discovering locally running dev servers from Faas platforms
eg `wrangler dev`. FaaS platforms in generally will support HTTP2, however, so
this is only a local development concern.

You can try to discover the endpoint with `--use-http1.1` when working
with these local dev servers. This should not be needed in production.

<h2 class="anchor anchorWithStickyNavbar_node_modules-@docusaurus-theme-classic-lib-theme-Heading-styles-module" id="META0015">META0015<a href="#META0015" class="hash-link">&#8203;</a></h2>

The service discovery response suggested that the SDK is serving in
bidirectional protocol mode, but discovery is going over a protocol that does
not support it (currently only Lambda).

Lambda endpoints do not support the bidirectional protocol mode and should be
configured to announce themselves as being in request-response mode upon
discovery.

<h2 class="anchor anchorWithStickyNavbar_node_modules-@docusaurus-theme-classic-lib-theme-Heading-styles-module" id="RT0001">RT0001<a href="#RT0001" class="hash-link">&#8203;</a></h2>

The invocation response stream was aborted due to the timeout configured in `worker.invoker.abort_timeout`.
Expand Down Expand Up @@ -159,7 +179,7 @@ Trying to open worker storage directory, configured via `worker.storage_rocksdb.

Suggestions:

* Wipe your worker storage directory to start afresh via `--wipe=worker`.
* Wipe your meta storage directory to start afresh via `rm -rf <BASE_DIR>/<NODE_NAME>/db`.
* Configure a different worker storage directory via `worker.storage_rocksdb.path`.
* Downgrade your Restate server to < 0.8.

Expand Down
9 changes: 8 additions & 1 deletion docs/references/sql-introspection.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ To learn how to access the instrospection interface, check out the [instrospecti
| `invoked_id` | `Utf8` | If this entry represents an outbound invocation, indicates the ID of that invocation. |
| `invoked_target` | `Utf8` | If this entry represents an outbound invocation, indicates the invocation Target. Format for plain services: `ServiceName/HandlerName`, e.g. `Greeter/greet`. Format for virtual objects/workflows: `VirtualObjectName/Key/HandlerName`, e.g. `Greeter/Francesco/greet`. |
| `sleep_wakeup_at` | `Date64` | If this entry represents a sleep, indicates wakeup time. |
| `promise_name` | `Utf8` | If this entry is a promise related entry (GetPromise, PeekPromise, CompletePromise), indicates the promise name. |
| `raw` | `Binary` | Raw binary representation of the entry. Check the [service protocol](https://github.com/restatedev/service-protocol) for more details to decode it. |

## Table: `sys_keyed_service_status`
Expand Down Expand Up @@ -115,6 +116,10 @@ To learn how to access the instrospection interface, check out the [instrospecti
| `journal_size` | `UInt32` | The number of journal entries durably logged for this invocation. |
| `created_at` | `Date64` | Timestamp indicating the start of this invocation. |
| `modified_at` | `Date64` | Timestamp indicating the last invocation status transition. For example, last time the status changed from `invoked` to `suspended`. |
| `inboxed_at` | `Date64` | Timestamp indicating when the invocation was inboxed, if ever. |
| `scheduled_at` | `Date64` | Timestamp indicating when the invocation was scheduled, if ever. |
| `running_at` | `Date64` | Timestamp indicating when the invocation first transitioned to running, if ever. |
| `completed_at` | `Date64` | Timestamp indicating when the invocation was completed, if ever. |
| `retry_count` | `UInt64` | The number of invocation attempts since the current leader started executing it. Increments on start, so a value greater than 1 means a failure occurred. Note: the value is not a global attempt counter across invocation suspensions and leadership changes. |
| `last_start_at` | `Date64` | Timestamp indicating the start of the most recent attempt of this invocation. |
| `next_retry_at` | `Date64` | Timestamp indicating the start of the next attempt of this invocation. |
Expand All @@ -125,5 +130,7 @@ To learn how to access the instrospection interface, check out the [instrospecti
| `last_failure_related_entry_index` | `UInt64` | The index of the journal entry that caused the failure, if any. It may be out-of-bound of the currently stored entries in `sys_journal`. |
| `last_failure_related_entry_name` | `Utf8` | The name of the journal entry that caused the failure, if any. |
| `last_failure_related_entry_type` | `Utf8` | The type of the journal entry that caused the failure, if any. You can check all the available entry types in [`entries.rs`](https://github.com/restatedev/restate/blob/main/crates/types/src/journal/entries.rs). |
| `status` | `Utf8` | Either `pending` or `ready` or `running` or `backing-off` or `suspended` or `completed`. |
| `status` | `Utf8` | Either `pending` or `scheduled` or `ready` or `running` or `backing-off` or `suspended` or `completed`. |
| `completion_result` | `Utf8` | If `status = 'completed'`, this contains either `success` or `failure` |
| `completion_failure` | `Utf8` | If `status = 'completed' AND completion_result = 'failure'`, this contains the error cause |

6 changes: 3 additions & 3 deletions restate.config.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"RESTATE_VERSION": "1.0",
"RESTATE_VERSION": "1.1",
"TYPESCRIPT_SDK_VERSION": "1.3.0",
"JAVA_SDK_VERSION": "1.0.1",
"GO_SDK_VERSION": "0.10.0",
"PYTHON_SDK_VERSION": "0.2.0"
"GO_SDK_VERSION": "0.11.0",
"PYTHON_SDK_VERSION": "0.3.0"
}
Loading

0 comments on commit bc06bc0

Please sign in to comment.