[GH-ISSUE #8326] [Bug] self host appflowy backup workspace fail #3731

Closed
opened 2026-03-23 21:32:45 +00:00 by mirror · 6 comments
Owner

Originally created by @smartyhero on GitHub (Nov 5, 2025).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8326

Bug Description

Clicking backup results in an error.
Image

Image

How to Reproduce

I can reproduce this directly in my own hosted AppFlowy instance.

Expected Behavior

Normal backup

Operating System

mac

AppFlowy Version(s)

0.10.3

Screenshots

No response

Additional Context

No response

Originally created by @smartyhero on GitHub (Nov 5, 2025). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8326 ### Bug Description Clicking backup results in an error. <img width="1449" height="860" alt="Image" src="https://github.com/user-attachments/assets/291cd790-8857-4bde-bd94-64a62a29f250" /> <img width="904" height="648" alt="Image" src="https://github.com/user-attachments/assets/a18be434-31b3-407c-af7f-002c320edaba" /> ### How to Reproduce I can reproduce this directly in my own hosted AppFlowy instance. ### Expected Behavior Normal backup ### Operating System mac ### AppFlowy Version(s) 0.10.3 ### Screenshots _No response_ ### Additional Context _No response_
Author
Owner

@LucasXu0 commented on GitHub (Nov 6, 2025):

Can you check if there are any other error logs on your self-hosted server? You can filter by the keyword 'export'.

<!-- gh-comment-id:3494575865 --> @LucasXu0 commented on GitHub (Nov 6, 2025): Can you check if there are any other error logs on your self-hosted server? You can filter by the keyword 'export'.
Author
Owner

@smartyhero commented on GitHub (Nov 7, 2025):

This is the log of appflowy-worker.

{"timestamp":"2025-11-07T10:06:20.553530Z","level":"INFO","fields":{"message":"Processing export for workspace: 4aea66a2-406a-4ebb-bb83-26646234398e"},"target":"appflowy_worker::export_worker::export_workspace_handler"}
{"timestamp":"2025-11-07T10:06:20.629417Z","level":"ERROR","fields":{"message":"Failed to update export task status: Internal(Failed to update export task status for task_id ef6550a0-d974-4c8a-b3cb-e169c2354f04: Database(PgDatabaseError { severity: Error, code: \"42P01\", message: \"relation \\\"af_export_task\\\" does not exist\", detail: None, hint: None, position: Some(Original(8)), where: None, schema: None, table: None, column: None, data_type: None, constraint: None, file: Some(\"parse_relation.c\"), line: Some(1449), routine: Some(\"parserOpenTable\") })\n\nStack backtrace:\n   0: new<alloc::string::String>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/backtrace.rs:27:14\n   1: {closure#0}<&sqlx_core::pool::Pool<sqlx_postgres::database::Postgres>>\n             at ./app/libs/database/src/workspace.rs:1980:26\n   2: map_err<sqlx_postgres::query_result::PgQueryResult, sqlx_core::error::Error, app_error::AppError, database::workspace::update_export_task_status::{async_fn#0}::{closure_env#0}<&sqlx_core::pool::Pool<sqlx_postgres::database::Postgres>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/result.rs:856:27\n   3: {async_fn#0}<&sqlx_core::pool::Pool<sqlx_postgres::database::Postgres>>\n             at ./app/libs/database/src/workspace.rs:1974:3\n   4: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/export_workspace_handler.rs:49:90\n   5: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/worker.rs:208:66\n   6: {async_block#0}\n             at ./app/services/appflowy-worker/src/export_worker/worker.rs:170:16\n   7: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:365:17\n   8: with_mut<tokio::runtime::task::core::Stage<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::core::{impl#6}::poll::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/loom/std/unsafe_cell.rs:16:9\n   9: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:354:30\n  10: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:535:19\n  11: call_once<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panic/unwind_safe.rs:272:9\n  12: do_call<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40\n  13: try<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19\n  14: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14\n  15: poll_future<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:523:18\n  16: poll_inner<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:210:27\n  17: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:155:15\n  18: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:325:5\n  19: poll\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:255:18\n  20: run<alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/mod.rs:509:9\n  21: {closure#0}\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:65\n  22: with_budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n  23: budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n  24: tick\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:31\n  25: {closure#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1067:16\n  26: {closure#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:809:13\n  27: try_with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12\n  28: with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15\n  29: with<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:807:9\n  30: poll<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1053:22\n  31: {async_fn#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:705:19\n  32: {closure#2}\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/macros/select.rs:707:49\n  33: poll<appflowy_worker::application::create_app::{async_fn#0}::__tokio_select_util::Out<core::result::Result<(), app_error::AppError>, core::result::Result<(), app_error::AppError>, core::result::Result<(), std::io::error::Error>>, appflowy_worker::application::create_app::{async_fn#0}::{closure_env#2}>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/poll_fn.rs:151:9\n  34: {async_fn#0}\n             at ./app/services/appflowy-worker/src/application.rs:184:3\n  35: {async_fn#0}\n             at ./app/services/appflowy-worker/src/application.rs:48:32\n  36: {async_block#0}\n             at ./app/services/appflowy-worker/src/main.rs:20:32\n  37: poll<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/future.rs:124:9\n  38: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:60\n  39: with_budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n  40: budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n  41: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:31\n  42: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/blocking.rs:66:9\n  43: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:87:22\n  44: enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16\n  45: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:86:9\n  46: block_on_inner<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:370:50\n  47: block_on<appflowy_worker::main::{async_block_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:340:13\n  48: main\n             at ./app/services/appflowy-worker/src/main.rs:20:3\n  49: call_once<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, ()>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:250:5\n  50: __rust_begin_short_backtrace<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:152:18\n  51: {closure#0}<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:199:18\n  52: main\n  53: <unknown>\n  54: __libc_start_main\n  55: _start)"},"target":"appflowy_worker::export_worker::export_workspace_handler"}
{"timestamp":"2025-11-07T10:06:20.743082Z","level":"ERROR","fields":{"message":"Failed to export workspace:WorkspaceExportTask { task_id: ef6550a0-d974-4c8a-b3cb-e169c2354f04, workspace_id: 4aea66a2-406a-4ebb-bb83-26646234398e, workspace_name: Smartyhero, user_name: picker, user_email: lingyu1312@gmail.com }: error:Internal(Failed to get workspace database storage id: RecordNotFound(\"Record not exist in db. no rows returned by a query that expected to return at least one row)\")\n\nStack backtrace:\n   0: new<alloc::string::String>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/backtrace.rs:27:14\n   1: {closure#0}\n             at ./app/services/appflowy-worker/src/export_worker/resource.rs:924:28\n   2: map_err<uuid::Uuid, app_error::AppError, app_error::AppError, appflowy_worker::export_worker::resource::get_workspace_database_data::{async_fn#0}::{closure_env#0}>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/result.rs:856:27\n   3: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/resource.rs:921:5\n   4: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/resource.rs:780:79\n   5: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/export_workspace_handler.rs:74:76\n   6: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/export_workspace_handler.rs:40:90\n   7: {async_fn#0}\n             at ./app/services/appflowy-worker/src/export_worker/worker.rs:208:66\n   8: {async_block#0}\n             at ./app/services/appflowy-worker/src/export_worker/worker.rs:170:16\n   9: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:365:17\n  10: with_mut<tokio::runtime::task::core::Stage<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::core::{impl#6}::poll::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/loom/std/unsafe_cell.rs:16:9\n  11: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:354:30\n  12: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:535:19\n  13: call_once<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panic/unwind_safe.rs:272:9\n  14: do_call<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40\n  15: try<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19\n  16: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14\n  17: poll_future<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:523:18\n  18: poll_inner<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:210:27\n  19: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:155:15\n  20: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:325:5\n  21: poll\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:255:18\n  22: run<alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/mod.rs:509:9\n  23: {closure#0}\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:65\n  24: with_budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n  25: budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n  26: tick\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:31\n  27: {closure#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1067:16\n  28: {closure#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:809:13\n  29: try_with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12\n  30: with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15\n  31: with<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:807:9\n  32: poll<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1053:22\n  33: {async_fn#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:705:19\n  34: {closure#2}\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/macros/select.rs:707:49\n  35: poll<appflowy_worker::application::create_app::{async_fn#0}::__tokio_select_util::Out<core::result::Result<(), app_error::AppError>, core::result::Result<(), app_error::AppError>, core::result::Result<(), std::io::error::Error>>, appflowy_worker::application::create_app::{async_fn#0}::{closure_env#2}>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/poll_fn.rs:151:9\n  36: {async_fn#0}\n             at ./app/services/appflowy-worker/src/application.rs:184:3\n  37: {async_fn#0}\n             at ./app/services/appflowy-worker/src/application.rs:48:32\n  38: {async_block#0}\n             at ./app/services/appflowy-worker/src/main.rs:20:32\n  39: poll<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/future.rs:124:9\n  40: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:60\n  41: with_budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n  42: budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n  43: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:31\n  44: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/blocking.rs:66:9\n  45: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:87:22\n  46: enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16\n  47: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:86:9\n  48: block_on_inner<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:370:50\n  49: block_on<appflowy_worker::main::{async_block_env#0}>\n             at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:340:13\n  50: main\n             at ./app/services/appflowy-worker/src/main.rs:20:3\n  51: call_once<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, ()>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:250:5\n  52: __rust_begin_short_backtrace<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:152:18\n  53: {closure#0}<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n             at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:199:18\n  54: main\n  55: <unknown>\n  56: __libc_start_main\n  57: _start)"},"target":"appflowy_worker::export_worker::export_workspace_handler"}
<!-- gh-comment-id:3501671738 --> @smartyhero commented on GitHub (Nov 7, 2025): This is the log of appflowy-worker. ``` {"timestamp":"2025-11-07T10:06:20.553530Z","level":"INFO","fields":{"message":"Processing export for workspace: 4aea66a2-406a-4ebb-bb83-26646234398e"},"target":"appflowy_worker::export_worker::export_workspace_handler"} {"timestamp":"2025-11-07T10:06:20.629417Z","level":"ERROR","fields":{"message":"Failed to update export task status: Internal(Failed to update export task status for task_id ef6550a0-d974-4c8a-b3cb-e169c2354f04: Database(PgDatabaseError { severity: Error, code: \"42P01\", message: \"relation \\\"af_export_task\\\" does not exist\", detail: None, hint: None, position: Some(Original(8)), where: None, schema: None, table: None, column: None, data_type: None, constraint: None, file: Some(\"parse_relation.c\"), line: Some(1449), routine: Some(\"parserOpenTable\") })\n\nStack backtrace:\n 0: new<alloc::string::String>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/backtrace.rs:27:14\n 1: {closure#0}<&sqlx_core::pool::Pool<sqlx_postgres::database::Postgres>>\n at ./app/libs/database/src/workspace.rs:1980:26\n 2: map_err<sqlx_postgres::query_result::PgQueryResult, sqlx_core::error::Error, app_error::AppError, database::workspace::update_export_task_status::{async_fn#0}::{closure_env#0}<&sqlx_core::pool::Pool<sqlx_postgres::database::Postgres>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/result.rs:856:27\n 3: {async_fn#0}<&sqlx_core::pool::Pool<sqlx_postgres::database::Postgres>>\n at ./app/libs/database/src/workspace.rs:1974:3\n 4: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/export_workspace_handler.rs:49:90\n 5: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/worker.rs:208:66\n 6: {async_block#0}\n at ./app/services/appflowy-worker/src/export_worker/worker.rs:170:16\n 7: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:365:17\n 8: with_mut<tokio::runtime::task::core::Stage<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::core::{impl#6}::poll::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/loom/std/unsafe_cell.rs:16:9\n 9: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:354:30\n 10: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:535:19\n 11: call_once<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panic/unwind_safe.rs:272:9\n 12: do_call<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40\n 13: try<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19\n 14: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14\n 15: poll_future<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:523:18\n 16: poll_inner<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:210:27\n 17: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:155:15\n 18: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:325:5\n 19: poll\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:255:18\n 20: run<alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/mod.rs:509:9\n 21: {closure#0}\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:65\n 22: with_budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n 23: budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n 24: tick\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:31\n 25: {closure#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1067:16\n 26: {closure#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:809:13\n 27: try_with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12\n 28: with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15\n 29: with<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:807:9\n 30: poll<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1053:22\n 31: {async_fn#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:705:19\n 32: {closure#2}\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/macros/select.rs:707:49\n 33: poll<appflowy_worker::application::create_app::{async_fn#0}::__tokio_select_util::Out<core::result::Result<(), app_error::AppError>, core::result::Result<(), app_error::AppError>, core::result::Result<(), std::io::error::Error>>, appflowy_worker::application::create_app::{async_fn#0}::{closure_env#2}>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/poll_fn.rs:151:9\n 34: {async_fn#0}\n at ./app/services/appflowy-worker/src/application.rs:184:3\n 35: {async_fn#0}\n at ./app/services/appflowy-worker/src/application.rs:48:32\n 36: {async_block#0}\n at ./app/services/appflowy-worker/src/main.rs:20:32\n 37: poll<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/future.rs:124:9\n 38: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:60\n 39: with_budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n 40: budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n 41: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:31\n 42: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/blocking.rs:66:9\n 43: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:87:22\n 44: enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16\n 45: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:86:9\n 46: block_on_inner<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:370:50\n 47: block_on<appflowy_worker::main::{async_block_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:340:13\n 48: main\n at ./app/services/appflowy-worker/src/main.rs:20:3\n 49: call_once<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, ()>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:250:5\n 50: __rust_begin_short_backtrace<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:152:18\n 51: {closure#0}<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:199:18\n 52: main\n 53: <unknown>\n 54: __libc_start_main\n 55: _start)"},"target":"appflowy_worker::export_worker::export_workspace_handler"} {"timestamp":"2025-11-07T10:06:20.743082Z","level":"ERROR","fields":{"message":"Failed to export workspace:WorkspaceExportTask { task_id: ef6550a0-d974-4c8a-b3cb-e169c2354f04, workspace_id: 4aea66a2-406a-4ebb-bb83-26646234398e, workspace_name: Smartyhero, user_name: picker, user_email: lingyu1312@gmail.com }: error:Internal(Failed to get workspace database storage id: RecordNotFound(\"Record not exist in db. no rows returned by a query that expected to return at least one row)\")\n\nStack backtrace:\n 0: new<alloc::string::String>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/backtrace.rs:27:14\n 1: {closure#0}\n at ./app/services/appflowy-worker/src/export_worker/resource.rs:924:28\n 2: map_err<uuid::Uuid, app_error::AppError, app_error::AppError, appflowy_worker::export_worker::resource::get_workspace_database_data::{async_fn#0}::{closure_env#0}>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/result.rs:856:27\n 3: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/resource.rs:921:5\n 4: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/resource.rs:780:79\n 5: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/export_workspace_handler.rs:74:76\n 6: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/export_workspace_handler.rs:40:90\n 7: {async_fn#0}\n at ./app/services/appflowy-worker/src/export_worker/worker.rs:208:66\n 8: {async_block#0}\n at ./app/services/appflowy-worker/src/export_worker/worker.rs:170:16\n 9: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:365:17\n 10: with_mut<tokio::runtime::task::core::Stage<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::core::{impl#6}::poll::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/loom/std/unsafe_cell.rs:16:9\n 11: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:354:30\n 12: {closure#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:535:19\n 13: call_once<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panic/unwind_safe.rs:272:9\n 14: do_call<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40\n 15: try<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19\n 16: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14\n 17: poll_future<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:523:18\n 18: poll_inner<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:210:27\n 19: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:155:15\n 20: poll<appflowy_worker::export_worker::worker::process_upcoming_tasks::{async_fn#0}::{async_block_env#0}, alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:325:5\n 21: poll\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:255:18\n 22: run<alloc::sync::Arc<tokio::task::local::Shared, alloc::alloc::Global>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/mod.rs:509:9\n 23: {closure#0}\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:65\n 24: with_budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n 25: budget<(), tokio::task::local::{impl#4}::tick::{closure_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n 26: tick\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:755:31\n 27: {closure#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1067:16\n 28: {closure#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:809:13\n 29: try_with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12\n 30: with<tokio::task::local::LocalData, tokio::task::local::{impl#4}::with::{closure_env#0}<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>, core::task::poll::Poll<core::result::Result<(), app_error::AppError>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15\n 31: with<core::task::poll::Poll<core::result::Result<(), app_error::AppError>>, tokio::task::local::{impl#10}::poll::{closure_env#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:807:9\n 32: poll<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:1053:22\n 33: {async_fn#0}<appflowy_worker::import_worker::worker::run_import_worker::{async_fn_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/local.rs:705:19\n 34: {closure#2}\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/macros/select.rs:707:49\n 35: poll<appflowy_worker::application::create_app::{async_fn#0}::__tokio_select_util::Out<core::result::Result<(), app_error::AppError>, core::result::Result<(), app_error::AppError>, core::result::Result<(), std::io::error::Error>>, appflowy_worker::application::create_app::{async_fn#0}::{closure_env#2}>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/poll_fn.rs:151:9\n 36: {async_fn#0}\n at ./app/services/appflowy-worker/src/application.rs:184:3\n 37: {async_fn#0}\n at ./app/services/appflowy-worker/src/application.rs:48:32\n 38: {async_block#0}\n at ./app/services/appflowy-worker/src/main.rs:20:32\n 39: poll<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/future/future.rs:124:9\n 40: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:60\n 41: with_budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n 42: budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n 43: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:31\n 44: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/blocking.rs:66:9\n 45: {closure#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:87:22\n 46: enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16\n 47: block_on<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:86:9\n 48: block_on_inner<core::pin::Pin<alloc::boxed::Box<appflowy_worker::main::{async_block_env#0}, alloc::alloc::Global>>>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:370:50\n 49: block_on<appflowy_worker::main::{async_block_env#0}>\n at ./usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:340:13\n 50: main\n at ./app/services/appflowy-worker/src/main.rs:20:3\n 51: call_once<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, ()>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:250:5\n 52: __rust_begin_short_backtrace<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:152:18\n 53: {closure#0}<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>\n at ./rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:199:18\n 54: main\n 55: <unknown>\n 56: __libc_start_main\n 57: _start)"},"target":"appflowy_worker::export_worker::export_workspace_handler"} ```
Author
Owner

@smartyhero commented on GitHub (Nov 7, 2025):

I received the email as expected.
Image

<!-- gh-comment-id:3501706472 --> @smartyhero commented on GitHub (Nov 7, 2025): I received the email as expected. <img width="780" height="597" alt="Image" src="https://github.com/user-attachments/assets/0baafd72-ac69-4fdb-aecc-b7cbad467c80" />
Author
Owner

@smartyhero commented on GitHub (Nov 7, 2025):

appflowy-cloud logs

{"timestamp":"2025-11-07T10:06:16.948639Z","level":"DEBUG","fields":{"summary":"SELECT COUNT(*) FROM af_export_task …","db.statement":"\n\n\n        SELECT COUNT(*)\n        FROM af_export_task\n        WHERE created_by = $1 AND status = $2\n    \n","rows_affected":1,"rows_returned":1,"elapsed":"4.034847ms","elapsed_secs":0.004034847},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]}
{"timestamp":"2025-11-07T10:06:16.948736Z","level":"DEBUG","fields":{"message":"using default environment variable MAXIMUM_EXPORT_PENDING_TASK:3"},"target":"infra::env_util","filename":"libs/infra/src/env_util.rs","line_number":7,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]}
{"timestamp":"2025-11-07T10:06:16.951634Z","level":"DEBUG","fields":{"summary":"SELECT name, email FROM …","db.statement":"\n\n\n    SELECT name, email FROM af_user WHERE uuid = $1\n    \n","rows_affected":1,"rows_returned":1,"elapsed":"2.709023ms","elapsed_secs":0.002709023},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]}
{"timestamp":"2025-11-07T10:06:16.955520Z","level":"DEBUG","fields":{"summary":"SELECT workspace_name FROM public.af_workspace …","db.statement":"\n\n\n      SELECT workspace_name\n      FROM public.af_workspace\n      WHERE workspace_id = $1\n    \n","rows_affected":1,"rows_returned":1,"elapsed":"2.615148ms","elapsed_secs":0.002615148},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]}
{"timestamp":"2025-11-07T10:06:16.960011Z","level":"DEBUG","fields":{"summary":"INSERT INTO af_export_task (task_id, …","db.statement":"\n\nINSERT INTO af_export_task (task_id, workspace_id, created_by, status, metadata) VALUES ($1, $2, $3, 0, $4)\n","rows_affected":1,"rows_returned":0,"elapsed":"4.169564ms","elapsed_secs":0.004169564},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]}
{"timestamp":"2025-11-07T10:06:16.960885Z","level":"INFO","fields":{"message":"User: 304535110764466176 created export task: ef6550a0-d974-4c8a-b3cb-e169c2354f04 for workspace: 4aea66a2-406a-4ebb-bb83-26646234398e"},"target":"appflowy_cloud::api::data_export","filename":"src/api/data_export.rs","line_number":83,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]}
<!-- gh-comment-id:3501740557 --> @smartyhero commented on GitHub (Nov 7, 2025): appflowy-cloud logs ``` {"timestamp":"2025-11-07T10:06:16.948639Z","level":"DEBUG","fields":{"summary":"SELECT COUNT(*) FROM af_export_task …","db.statement":"\n\n\n SELECT COUNT(*)\n FROM af_export_task\n WHERE created_by = $1 AND status = $2\n \n","rows_affected":1,"rows_returned":1,"elapsed":"4.034847ms","elapsed_secs":0.004034847},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]} {"timestamp":"2025-11-07T10:06:16.948736Z","level":"DEBUG","fields":{"message":"using default environment variable MAXIMUM_EXPORT_PENDING_TASK:3"},"target":"infra::env_util","filename":"libs/infra/src/env_util.rs","line_number":7,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]} {"timestamp":"2025-11-07T10:06:16.951634Z","level":"DEBUG","fields":{"summary":"SELECT name, email FROM …","db.statement":"\n\n\n SELECT name, email FROM af_user WHERE uuid = $1\n \n","rows_affected":1,"rows_returned":1,"elapsed":"2.709023ms","elapsed_secs":0.002709023},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]} {"timestamp":"2025-11-07T10:06:16.955520Z","level":"DEBUG","fields":{"summary":"SELECT workspace_name FROM public.af_workspace …","db.statement":"\n\n\n SELECT workspace_name\n FROM public.af_workspace\n WHERE workspace_id = $1\n \n","rows_affected":1,"rows_returned":1,"elapsed":"2.615148ms","elapsed_secs":0.002615148},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]} {"timestamp":"2025-11-07T10:06:16.960011Z","level":"DEBUG","fields":{"summary":"INSERT INTO af_export_task (task_id, …","db.statement":"\n\nINSERT INTO af_export_task (task_id, workspace_id, created_by, status, metadata) VALUES ($1, $2, $3, 0, $4)\n","rows_affected":1,"rows_returned":0,"elapsed":"4.169564ms","elapsed_secs":0.004169564},"target":"sqlx::query","filename":"/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/logger.rs","line_number":143,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]} {"timestamp":"2025-11-07T10:06:16.960885Z","level":"INFO","fields":{"message":"User: 304535110764466176 created export task: ef6550a0-d974-4c8a-b3cb-e169c2354f04 for workspace: 4aea66a2-406a-4ebb-bb83-26646234398e"},"target":"appflowy_cloud::api::data_export","filename":"src/api/data_export.rs","line_number":83,"span":{"name":"export_workspace_data_handler"},"spans":[{"client_version":"0.10.3","device_id":"796814E4-B7F3-5E88-BCF2-CA2B474A1987","method":"POST","path":"/api/export/workspace/{workspace_id}","payload_size":33,"request_id":"4fb10fd9-181d-466a-8096-84033e133fc9","name":"request"},{"name":"export_workspace_data_handler"}]} ```
Author
Owner

@smartyhero commented on GitHub (Nov 14, 2025):

I can now back up my workspace normally; the reason for the failure is that I haven't configured the APPFLOWY_WORKER_DATABASE_NAME environment variable.

I have a question. I've already configured the APPFLOWY_WORKER_DATABASE_URL environment variable, and the database name is already included in the DSN. Why is it necessary to configure the APPFLOWY_WORKER_DATABASE_NAME variable separately?

<!-- gh-comment-id:3530579039 --> @smartyhero commented on GitHub (Nov 14, 2025): I can now back up my workspace normally; the reason for the failure is that I haven't configured the `APPFLOWY_WORKER_DATABASE_NAME` environment variable. I have a question. I've already configured the `APPFLOWY_WORKER_DATABASE_URL` environment variable, and the database name is already included in the DSN. Why is it necessary to configure the `APPFLOWY_WORKER_DATABASE_NAME` variable separately?
Author
Owner

@LucasXu0 commented on GitHub (Nov 14, 2025):

The APPFLOWY_WORKER_DATABASE_NAME should have a default value in deploy.env. You don't need to customize it.

<!-- gh-comment-id:3530713941 --> @LucasXu0 commented on GitHub (Nov 14, 2025): The `APPFLOWY_WORKER_DATABASE_NAME` should have a default value in deploy.env. You don't need to customize it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#3731
No description provided.