[PR #572] [CLOSED] feat: zero downtime upgrade plugin #592

Closed
opened 2026-02-16 01:16:26 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-plugin-daemon/pull/572
Author: @fatelei
Created: 1/18/2026
Status: Closed

Base: mainHead: zero_downtime_upgrade


📝 Commits (1)

  • 06d4a39 feat: zero downtime upgrade plugin

📊 Changes

38 files changed (+1552 additions, -29 deletions)

View changed files

.golangci.yml (+193 -0)
Makefile (+25 -0)
📝 internal/cluster/plugin.go (+1 -1)
📝 internal/core/control_panel/runtime_export.go (+14 -0)
📝 internal/core/control_panel/server_local.go (+29 -0)
internal/core/control_panel/upgrade_protection_test.go (+244 -0)
internal/core/health_checker/debugging_health_check.go (+45 -0)
internal/core/health_checker/debugging_health_check_test.go (+54 -0)
internal/core/health_checker/health_checker.go (+43 -0)
internal/core/health_checker/local_health_check.go (+98 -0)
internal/core/health_checker/local_health_check_test.go (+265 -0)
internal/core/health_checker/serverless_health_check.go (+53 -0)
internal/core/health_checker/serverless_health_check_test.go (+112 -0)
📝 internal/core/io_tunnel/datasource.gen.go (+1 -1)
📝 internal/core/io_tunnel/dynamic_parameter.gen.go (+1 -1)
📝 internal/core/io_tunnel/model.gen.go (+1 -1)
📝 internal/core/io_tunnel/oauth.gen.go (+1 -1)
📝 internal/core/io_tunnel/tool.gen.go (+1 -1)
📝 internal/core/io_tunnel/trigger.gen.go (+1 -1)
📝 internal/core/local_runtime/instance.go (+8 -0)

...and 18 more files

📄 Description

Description

fix #435

Sequence diagram example
t=0s    Installation-complete event triggered
↓
t=0s    Health checker created
↓
t=0s    1st health check
- Instance checked: NOT_READY
- consecutiveSuccesses = 0
↓
t=5s    2nd health check
- Instance checked: NOT_READY
- consecutiveSuccesses = 0
↓
t=10s   3rd health check
- Instance checked: READY ✓
- consecutiveSuccesses = 1
↓
t=15s   4th health check
- Instance checked: READY ✓
- consecutiveSuccesses = 2
↓
t=20s   5th health check
- Instance checked: READY ✓
- consecutiveSuccesses = 3
↓
t=20s   Return ready=true
↓
t=20s   Database switch executed (UpgradePlugin)
↓
t=20s   Upgrade complete

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • Other

Essential Checklist

Testing

  • I have tested the changes locally and confirmed they work as expected
  • I have added unit tests where necessary and they pass successfully

Bug Fix (if applicable)

  • I have used GitHub syntax to close the related issue (e.g., Fixes #123 or Closes #123)

Additional Information

Please provide any additional context that would help reviewers understand the changes.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-plugin-daemon/pull/572 **Author:** [@fatelei](https://github.com/fatelei) **Created:** 1/18/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `zero_downtime_upgrade` --- ### 📝 Commits (1) - [`06d4a39`](https://github.com/langgenius/dify-plugin-daemon/commit/06d4a398b04dfc0281dfbbf465a91302de918796) feat: zero downtime upgrade plugin ### 📊 Changes **38 files changed** (+1552 additions, -29 deletions) <details> <summary>View changed files</summary> ➕ `.golangci.yml` (+193 -0) ➕ `Makefile` (+25 -0) 📝 `internal/cluster/plugin.go` (+1 -1) 📝 `internal/core/control_panel/runtime_export.go` (+14 -0) 📝 `internal/core/control_panel/server_local.go` (+29 -0) ➕ `internal/core/control_panel/upgrade_protection_test.go` (+244 -0) ➕ `internal/core/health_checker/debugging_health_check.go` (+45 -0) ➕ `internal/core/health_checker/debugging_health_check_test.go` (+54 -0) ➕ `internal/core/health_checker/health_checker.go` (+43 -0) ➕ `internal/core/health_checker/local_health_check.go` (+98 -0) ➕ `internal/core/health_checker/local_health_check_test.go` (+265 -0) ➕ `internal/core/health_checker/serverless_health_check.go` (+53 -0) ➕ `internal/core/health_checker/serverless_health_check_test.go` (+112 -0) 📝 `internal/core/io_tunnel/datasource.gen.go` (+1 -1) 📝 `internal/core/io_tunnel/dynamic_parameter.gen.go` (+1 -1) 📝 `internal/core/io_tunnel/model.gen.go` (+1 -1) 📝 `internal/core/io_tunnel/oauth.gen.go` (+1 -1) 📝 `internal/core/io_tunnel/tool.gen.go` (+1 -1) 📝 `internal/core/io_tunnel/trigger.gen.go` (+1 -1) 📝 `internal/core/local_runtime/instance.go` (+8 -0) _...and 18 more files_ </details> ### 📄 Description ## Description fix #435 ``` Sequence diagram example t=0s Installation-complete event triggered ↓ t=0s Health checker created ↓ t=0s 1st health check - Instance checked: NOT_READY - consecutiveSuccesses = 0 ↓ t=5s 2nd health check - Instance checked: NOT_READY - consecutiveSuccesses = 0 ↓ t=10s 3rd health check - Instance checked: READY ✓ - consecutiveSuccesses = 1 ↓ t=15s 4th health check - Instance checked: READY ✓ - consecutiveSuccesses = 2 ↓ t=20s 5th health check - Instance checked: READY ✓ - consecutiveSuccesses = 3 ↓ t=20s Return ready=true ↓ t=20s Database switch executed (UpgradePlugin) ↓ t=20s Upgrade complete ``` ## Type of Change - [ ] Bug fix - [x] New feature - [ ] Refactor - [ ] Performance improvement - [ ] Other ## Essential Checklist ### Testing - [x] I have tested the changes locally and confirmed they work as expected - [ ] I have added unit tests where necessary and they pass successfully ### Bug Fix (if applicable) - [x] I have used GitHub syntax to close the related issue (e.g., `Fixes #123` or `Closes #123`) ## Additional Information Please provide any additional context that would help reviewers understand the changes. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 01:16:26 -05:00
yindo closed this issue 2026-02-16 01:16:26 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-plugin-daemon#592