Open Piorimu opened 8 months ago
詳しくありがとうございます!非常に助かりました。 なんと、E2EEしていないVaultの場合、起動時のスキャンで特定の文字から始まるファイルを取りこぼしていました。 (そのため、むやみやたらとUPDATE DATABASEがかかっています) UPDATE DATABASEは変更確認を含むので、ちょっと負荷がかかります。 これが原因で再起動を引き起こしているのかもしれないと思い、まずはv0.20.5で修正いたしました。
いったんv0.20.5にアップデートして、事象が多少改善するか確認していただいてよいでしょうか?
また、プラグインログはHatch
のWrite logs into the file
をONにしていただくと、ファイルに保存されます。
一度お試しください。(とはいえ、このリブートの場合、書き込みが間に合わないかもしれないのですが…)
素早い対応ありがとうございます。
おかげさまで、再起動の症状は治まりました。UPDATE DATABASE
の数も少なくなりました。
ただReplicationは相変わらず失敗しています。 ご案内頂いた方法で、「起動時のログ」と「何度かReplicationを試した際のログ」を取ってみました。
また、Replicationの失敗は、iPhoneだけでなく、PC側でも発生しています(ログはiPhone側と同様です) iPhone側でFetchを試しましたが、途中でサーバーがOut of memoryでシャットダウンしてしまいました。
ともかく、再起動の問題が一番大きかったので、そちらが改善されて助かりました。 改めて、ありがとうございます。
こちらこそ早速のお試しありがとうございます!効いて良かったです! 実際に差分がある場合もあるので、多少はUPDATE DATABASEが発生すると思います。なので、こちらは一段落ですね。
レプリケーションが落ちてしまう件、Our of memoryとのことですが、fly.ioのインスタンスはswapを有効にしていますでしょうか?
fly.ioのプラットフォームがV2とやらになってから、メモリ使用に厳しくなってしまったため、インスタンス作成時に少し工夫しないといけなくなりました。 もし有効にしていない場合は、こちらのColabノートを使って作成してもらえると、メモリ不足で落ちることは減ると思います。 https://gist.github.com/vrtmrz/37c3efd7842e49947aaaa7f665e5020a
レプリケーションが落ちてしまう件、Our of memoryとのことですが、fly.ioのインスタンスはswapを有効にしていますでしょうか?
こちら頂いたColabノートで新しいサーバーでDBを再構築したところ、いくつかトラブルはあったものの同期することが出来ました!ありがとうございます!
起こったトラブルについては下記の通りです。何か参考になれば。
問題:PC側で再構築したとき暗号化形式をEnable v2
を選択し、iPhone側で間違えてKeep v1
を選択したところ、サーバーのディスク使用量が2GBを超えてしまった
解決:こちらはサーバーを作り直し、iPhone側のObsidianを再インストールして、v2
で統一するようにしたところ解決しました
問題:Colabで2つめのサーバーを作成しようとしたところ、# Configure password
で[build]
が2重に定義されている旨のエラーが発生してしまった(エラーメッセージなどをメモしていませんでした、申し訳ありません)
解決:こちらはColabのランタイムを再接続したところ解消しました
また起動時スキャンですが、iPhoneでは問題無いのですが、PC(Windows)でのみ、半角の#
がファイル名に含まれているファイルが毎回UPDATE DATABASE
の対象になっているようです。
自分の環境では現状問題にはなっていません(対象のファイルは7
ファイルのみ)が、ご報告まで。
ともあれ、再起動の問題と同期の問題は自分の環境では一段落しました。 この度はご対応頂き、ありがとうございました。
Abstract
livesyncを0.20.4にアップデートしてから、iPhoneで起動中にObsidianが再起動することがあります。 iPhone12でiOSバージョンは16.6.1で、Obsidianバージョンは1.4.16です。
また、同期に失敗することが多くなりました。
Expected behaviour
Actually happened
起動時の全ファイル走査(UPDATE DATABASE)中に再起動が発生します。
アップデート以前のファイルの更新が同期されません。
v2データベースにRebuildした後でも同様です。
またv1データベースにRebuildし直しても発生しました。
コンフリクト解消時にも再起動が発生しました。
Reproducing procedure
1.iPhoneでObisidianを起動します。 2.ログを開きます(Show log) 3.しばらくすると再起動することがあります。 4.再起動後もLiveSyncを有効にしていても、ファイルの同期が行われません。 5.何度かObsidianを再起動すると同期することがあります。 6.iPhone側で文字を入力しても再起動が発生することがあります。
Report materials
Report from the LiveSync
Report from hatch
``` ----remote config---- cors: credentials: "true" headers: accept, authorization, content-type, origin, referer max_age: "3600" methods: GET, PUT, POST, HEAD, DELETE origins: app://obsidian.md,capacitor://localhost,http://localhost chttpd: bind_address: any max_http_request_size: "4294967296" port: "5984" require_valid_user: "true" admins: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" vendor: name: The Apache Software Foundation feature_flags: partitioned||*: "true" chttpd_auth: authentication_redirect: /e=_/_utils/session.html hash_algorithms: sha256, sha require_valid_user: "true" indexers: couch_mrview: "true" prometheus: additional_port: "false" bind_address: 127.0.0.1 port: "17986" httpd: WWW-Authenticate: Basic realm="couchdb" bind_address: 127.0.0.1 enable_cors: "true" port: "5986" smoosh: state_dir: ./data couch_httpd_auth: authentication_db: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" secret: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" authentication_redirect: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" couchdb_engines: couch: couch_bt_engine couchdb: database_dir: ./data max_document_size: "50000000" single_node: "true" uuid: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" view_index_dir: ./data ---- Plug-in config --- version:0.20.4 couchDB_URI: self-hosted couchDB_USER: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" couchDB_PASSWORD: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" couchDB_DBNAME: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" liveSync: true syncOnSave: false syncOnStart: false savingDelay: 200 lessInformationInLog: false gcDelay: 0 versionUpFlash: "" minimumChunkSize: 20 longLineThreshold: 250 showVerboseLog: false suspendFileWatching: false trashInsteadDelete: false periodicReplication: false periodicReplicationInterval: 60 syncOnFileOpen: false encrypt: false passphrase: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" usePathObfuscation: false doNotDeleteFolder: false resolveConflictsByNewerFile: false batchSave: false deviceAndVaultName: "" usePluginSettings: false showOwnPlugins: false showStatusOnEditor: false usePluginSync: false autoSweepPlugins: false autoSweepPluginsPeriodic: false notifyPluginOrSettingUpdated: false checkIntegrityOnSave: false batch_size: 50 batches_limit: 20 useHistory: true disableRequestURI: true skipOlderFilesOnSync: true checkConflictOnlyOnOpen: false syncInternalFiles: false syncInternalFilesBeforeReplication: false syncInternalFilesIgnorePatterns: \/node_modules\/, \/\.git\/, \/obsidian-livesync\/ syncInternalFilesInterval: 60 additionalSuffixOfDatabaseName: obsidian ignoreVersionCheck: false lastReadUpdates: 20 deleteMetadataOfDeletedFiles: true syncIgnoreRegEx: "" syncOnlyRegEx: "" customChunkSize: 10 readChunksOnline: true watchInternalFileChanges: true automaticallyDeleteMetadataOfDeletedFiles: 0 disableMarkdownAutoMerge: false writeDocumentsIfConflicted: false useDynamicIterationCount: false syncAfterMerge: false configPassphraseStore: "" encryptedPassphrase: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" encryptedCouchDBConnection: "𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷" permitEmptyPassphrase: false useIndexedDBAdapter: true useTimeouts: false writeLogToTheFile: false doNotPaceReplication: false hashCacheMaxCount: 300 hashCacheMaxAmount: 50 concurrencyOfReadChunksOnline: 100 minimumIntervalOfReadChunksOnline: 333 hashAlg: xxhash64 suspendParseReplicationResult: false doNotSuspendOnFetching: true useIgnoreFiles: false ignoreFiles: .gitignore syncOnEditorSave: false pluginSyncExtendedSetting: {} useV1: true ```Obsidian debug info
Debug info
``` SYSTEM INFO: Operating system: ios 16.6.1 (Apple iPhone) Obsidian version: 1.4.16 (114) API version: v1.4.16 Login status: not logged in Live preview: on Legacy editor: off Base theme: dark Community theme: none Snippets enabled: 0 Restricted mode: off Plugins installed: 1 Plugins enabled: 1 1: Self-hosted LiveSync v0.20.4 ```Plug-in log
再起動を繰り返すため、保存できませんでした。 一部スクリーンショットしたので参照ください。
Screenshots
Other information, insights and intuition.
サーバーホスティングサービスはFly.ioです(VMはv2、shared-cpu-1x | 1 shared | 256MB) 同期しているVaultは2,492files、ローカルディスク上でのサイズは325MBです。