The external registry folder watcher logs an ERROR with a NoSuchFileException stack trace for every temp file an editor's atomic save writes into the folder
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 82/100
Hướng nghiên cứu
Đọc components/core/core-registry và kiểm tra RecursiveFolderWatcher.syncFile, đặc biệt là phần xử lý ngoại lệ khi sao chép tệp. Tái hiện sự cố bằng cách chỉnh sửa một tệp trong thư mục registry bên ngoài với thao tác lưu nguyên tử, rồi quan sát log. Hoàn tất khi tệp tạm bị xóa trước lúc sao chép không còn tạo ra stack trace ERROR, trong khi tệp thực sự được chỉnh sửa vẫn được đồng bộ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
- Image:
dirigiblelabs/dirigible:15.1.0-java(sha256:dac354be94f21f222e88b81fd7fc6e68d9616ee7b4e12bcb1e9eef0465bd213f) - Reference:
dirigiblelabs/dirigible:15.1.0(sha256:449b8c948738a2bd7a4294a7bec1000a08bc1da1cd20f312f0e54383a7af325d)
Same behaviour on both images.
Steps
mkdir -p /tmp/ext && cp -r <sample-intent-money> /tmp/ext/
docker run -d -p 8080:8080 -v /tmp/ext:/ext -e DIRIGIBLE_REGISTRY_EXTERNAL_FOLDER=/ext dirigiblelabs/dirigible:15.1.0-java
# once ready, edit a file the way most editors save (temp file + rename):
sed -i 's/.multiply(line.VatRate)/.multiply(line.VatRate).multiply(java.math.BigDecimal.TEN)/' /tmp/ext/sample-intent-money/custom/LineVatAction.java
docker logs <container>
Observed
The edit is picked up: it is recompiled and the new value is served in about 12 s. But every such save logs two ERRORs with full stack traces for the editor's temp file:
[ERROR] o.e.d.c.r.w.RecursiveFolderWatcher - Failed to sync: /ext/sample-intent-money/custom/sedeL8Fzd
java.nio.file.NoSuchFileException: /ext/sample-intent-money/custom/sedeL8Fzd
at org.eclipse.dirigible.components.registry.watcher.RecursiveFolderWatcher.syncFile(RecursiveFolderWatcher.java:204)
(twice), then INFO Synced: .../LineVatAction.java. The default image logs the same pair.
Expected
A create/modify event for a file that is gone by the time it is copied is a benign race (sed -i, vim, most IDEs, git checkout). It should be skipped, or logged at DEBUG, not ERROR. The external registry folder is the deployment path the README names for applications (section "Java edition"), so these ERRORs reach log alerting on every edit.
Where
components/core/core-registry RecursiveFolderWatcher.syncFile: catch NoSuchFileException separately (or check Files.exists) before the generic IOException ERROR.
- Ngôn ngữ chính
- Java
- Star
- 278
- Fork
- 97
- Merge trung bình
- 16 giờ 39 phút
- Pull request đã merge (30 ngày)
- 282
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của eclipse-dirigible/dirigible
-
ui: opening a row's "..." menu leaves the other rows' menus open - @click.stop on the row-actions cell keeps the click from closing themCó thể đã có người làm @NicoleNG18 đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
eclipse-dirigible/dirigible#8259 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
eclipse-dirigible/dirigible#8240 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
eclipse-dirigible/dirigible#8238 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
eclipse-dirigible/dirigible#8231 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
eclipse-dirigible/dirigible#8226 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của eclipse-dirigible/dirigible
Issue tương tự
-
bug web-server
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
jooby-project/jooby#4035 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
L: javascript
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
dependabot/dependabot-core#16744 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
intake mcp-intake needs-human-review priority:high type:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Ikalus1988/MisakaNet#3987 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
quarkiverse/quarkus-google-cloud-services#1187 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
locationtech/jts#1250 ·