[BUG] Getting attachment on Docker
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 32/100
調査の方向性
The failure is AttachmentUtil.getMessageAttachment returning null for an HL7 OBX attachment id under concurrent channels on Docker+MariaDB, while Windows/SQL Server and Linux/MariaDB without Docker do not. Start from how message attachments are stored and retrieved in the engine (the AttachmentUtil path and the 10-attempt retry shown in the screenshot), then compare timing/locking against the provided compose stack. Done when getContentString no longer returns null under parallel reprocessing without a sleep.
索引モデルが issue の本文から書いたものです。
説明
Hi,
We have a problem when getting the contentString of attachments when using OIE on Docker.
More errors occurs when 2 or more channels do the same things.
we use this code :
var attachmentIdRegex = /${ATTACH:([0-9a-fA-F-]{36})}/;
var attachmentId = segment['OBX.5']['OBX.5.5'].toString();
attachmentId = attachmentId.match(attachmentIdRegex)[1];
var attachmentContent = AttachmentUtil.getMessageAttachment(connectorMessage, attachmentId).getContentString();
And the error :
TypeError: Cannot call method "getContentString" of null
But just, reprocess the message and it's sometimes ok, and if we have a lot of messages when the error occurs all the files after have the same issues.
We tried this on other mirth :
On windows with sqlserver => never happened
On linux with mariaDb => never happened
It's seems that the problem comes with Docker.
We also tried to solve this problem using a sleep before the getContentString and we have fewer errors
Source config of the channel:
The attachment is not found after 10 attemps:
Notes : We reproduce the same errors with Mirth 4.5.2 in the same configuration.
The config :
services:
mariadb_oie:
image: mariadb:10.11
container_name: mariadb_oie
restart: always
command:
[
'--server-id=1',
'--max_connections=300',
'--character-set-server=latin1',
'--collation-server=latin1_swedish_ci',
'--default-authentication-plugin=mysql_native_password',
'--sql-mode=NO_ENGINE_SUBSTITUTION'
]
ports:
- "3308:3306"
environment:
MARIADB_ROOT_PASSWORD: root123
MARIADB_DATABASE: oiedb
MARIADB_USER: oie
MARIADB_PASSWORD: oie123
volumes:
- /data/oie/mysql:/var/lib/mysql
networks:
- oie_net
oie:
image: openintegrationengine/engine:latest
container_name: oie
restart: always
depends_on:
- mariadb_oie
ports:
- "9444:8443"
- "9081:8080"
environment:
DATABASE: mysql
DATABASE_URL: jdbc:mysql://mariadb_oie:3306/oiedb?useUnicode=false&characterEncoding=latin1&useSSL=false&allowPublicKeyRetrieval=true
DATABASE_USERNAME: oie
DATABASE_PASSWORD: oie123
MIRTH_ADMIN_USERNAME: toto
MIRTH_ADMIN_PASSWORD: toto
volumes:
- /data/oie/appdata:/opt/connect/appdata
networks:
- oie_net
networks:
oie_net:
driver: bridge
- 主要言語
- Java
- スター
- 227
- フォーク
- 81
- 平均マージ
- 3日 6時間
- マージ済み PR(30日)
- 15
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OpenIntegrationEngine/engine のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OpenIntegrationEngine/engine#485 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
OpenIntegrationEngine/engine#478 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OpenIntegrationEngine/engine#355 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OpenIntegrationEngine/engine#347 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OpenIntegrationEngine/engine#313 ·
メンテナーはふだん 1 日以内に返信
OpenIntegrationEngine/engine の issue をすべて見る
似ている issue
-
[Bug] Lock owned by another client (e.g. Text app) cannot be unlocked from the app対応中かも @falkloewert が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
oracle/graalvm-reachability-metadata#11026 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
checkstyle/checkstyle#22050 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement Improvement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
zowe/zowe-client-java-sdk#647 ·
-
RRX SAX: </rdf:RDF> inside rdf:parseType="Literal" ends the document ("Inconsistent parserMode:TOP")オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信