プラグインのインストールに失敗する問題
- Dominant language
- PHP
- Stars
- 788
- Forks
- 719
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 39
Description
## 概要(Overview)
プラグインのインストール時に高負荷な状態が発生し、OOM Killerでhttpdのプロセスが殺される。そのため、プラグインのインストールが完了しない。
発生時のログは以下の通り。
```
/var/log/messages
Apr 17 09:57:43 kernel: Out of memory: Kill process 16845 (httpd) score 149 or sacrifice child
Apr 17 09:57:43 kernel: Killed process 16845 (httpd) total-vm:2333820kB, anon-rss:524704kB, file-rss:1400kB, shmem-rss:556kB
Apr 17 09:57:47 kernel: swap_info_get: Bad swap offset entry 0008007c
Apr 17 09:57:47 kernel: swap_info_get: Bad swap offset entry 0008007d
```
主に以下の2点で、高負荷となっている
- Composer APIによる依存関係の解決
- symfonyのDIコンテナキャッシュの削除と再生成
インストールに失敗した場合、インストール途中のプラグインファイルや、autoloaderのクラスマップ等が中途半端に残ってしまう。現状では復旧の手順が確立していない。
### 環境 (environment)
+ EC-CUBE: 4.0.x
+ PHP: 7.x.x
+ DB:
- PostgreSQL x.x.x
- MySQL x.x.x
## 関連情報 (Ref)
- #3990
- #4133, #4106
- BoltやMagentoでもComposerAPIを利用しているため、他のCMSも調査
Contributor guide
Assessment
This issue has not been assessed yet.