オラクルとDIH | KandaSearch Community Support Forum

オラクルとDIH

トピック作成者:ks-solruserml-bot (2025/04/30 10:20 投稿)
3
OpenOpen

(The bot translated the original post https://lists.apache.org/thread/zqgcqoz4rpg1bpxz7pohdkcw1tbfqy0y into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

私は Solr 9.8.0 をスタンドアロンモードで使用しており、Data Import Handler(DIH)を実行しています。
ZooKeeper モードでは、すべての公式手順が失敗します(残念なことに)。

MySQL や PostgreSQL からのデータインポートはうまくいきますが、Oracle に対しては失敗します。Solr のログ出力を見ると、接続しようとしているように見えますが、その後何も起こりません。

以下は、Solr 8.4.1 で Full Import を実行したときのログ出力です:

2025-02-04 13:39:13.301 INFO  (qtp599782425-69) [   x:rat_11]
o.a.s.h.d.DataImporter Loading DIH Configuration: data-config.xml
2025-02-04 13:39:13.337 INFO  (qtp599782425-69) [   x:rat_11]
o.a.s.h.d.c.DIHConfiguration The field :clientName present in DataConfig
does not have a counterpart in Solr Schema
2025-02-04 13:39:13.337 INFO  (qtp599782425-69) [   x:rat_11]
o.a.s.h.d.DataImporter Data Configuration loaded successfully
2025-02-04 13:39:13.360 INFO  (Thread-24) [   ] o.a.s.h.d.DataImporter
Starting Full Import
2025-02-04 13:39:13.360 INFO  (qtp599782425-69) [   x:rat_11]
o.a.s.c.S.Request [rat_11]  webapp=/solr path=/DmeImport
params={commit=true&clean=true&wt=xml&command=full-import} status=0 QTime=65
2025-02-04 13:39:13.389 WARN  (Thread-24) [   ]
o.a.s.h.d.SimplePropertiesWriter Unable to read: DmeImport.properties
2025-02-04 13:39:13.637 INFO  (Thread-24) [   ] o.a.s.h.d.JdbcDataSource
Creating a connection for entity asset_core with URL:
jdbc:oracle:thin:@rat:52689:dme1
2025-02-04 13:39:14.183 INFO  (Thread-24) [   ] o.a.s.h.d.JdbcDataSource
Time taken for getConnection(): 545
2025-02-04 13:39:14.331 INFO  (Thread-24) [   ] o.a.s.h.d.JdbcDataSource
Creating a connection for entity asset_dmeaccount with URL:
jdbc:oracle:thin:@rat:52689:dme1
...(その後、他のテーブルにも接続・インポートされている)

一方、Solr 9.8.0 のログ出力は以下のとおりです:

2025-02-04 15:04:57.366 INFO  (qtp142099757-26-null-12) [c: s: r:
x:rat_11 t:null-12] o.a.s.h.d.DataImporter Loading DIH Configuration:
data-config.xml
2025-02-04 15:04:57.429 INFO  (qtp142099757-26-null-12) [c: s: r:
x:rat_11 t:null-12] o.a.s.h.d.c.DIHConfiguration The field :clientName
present in DataConfig does not have a counterpart in Solr Schema
2025-02-04 15:04:57.429 INFO  (qtp142099757-26-null-12) [c: s: r:
x:rat_11 t:null-12] o.a.s.h.d.DataImporter Data Configuration loaded
successfully
2025-02-04 15:04:57.451 INFO  (qtp142099757-26-null-12) [c: s: r:
x:rat_11 t:null-12] o.a.s.c.S.Request webapp=/solr path=/DmeImport
params={commit=true&clean=true&wt=xml&command=full-import} status=0 QTime=86
2025-02-04 15:04:57.451 INFO  (Thread-23) [c: s: r: x: t:]
o.a.s.h.d.DataImporter Starting Full Import
2025-02-04 15:04:57.475 INFO  (Thread-23) [c: s: r: x: t:]
o.a.s.h.d.SimplePropertiesWriter Read DmeImport.properties
2025-02-04 15:04:57.623 INFO  (Thread-23) [c: s: r: x: t:]
o.a.s.h.d.JdbcDataSource Creating a connection for entity asset_core
with URL: jdbc:oracle:thin:@rat:52689:dme1
2025-02-04 15:04:57.838 INFO  (Thread-23) [c: s: r: x: t:]
o.a.s.u.p.LogUpdateProcessorFactory webapp=/solr path=/DmeImport
params={commit=true&clean=true&wt=xml&command=full-import} status=0
QTime=86{deleteByQuery=*:* (-1823169888949108736)} 0 474
(ここで処理が止まる)

このように、ここで完全に処理が止まってしまいます。

conf ディレクトリと並列の lib ディレクトリを使用して、以下の jar ファイルを配置しました:

  • data-import-handler-9.7.0.jar
  • ojdbc6.jar

何かアドバイスをいただける方はいらっしゃいますか?

返信投稿者:ks-solruserml-bot (2025/04/30 10:21 投稿)

こんにちは、Mike。

もし処理がハングしているのであれば、Solr Admin のスレッドダンプや jstack などで確認できるかもしれません。
それによって、何が起きているのかの手がかりが得られる可能性があります。

--
よろしくお願いします、
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2025/04/30 10:21 投稿)

こんにちは、Mike。

また、DIH(DataImportHandler)コンポーネントのデバッグレベルのログを有効にすると、さらに詳細な情報が得られるかもしれません。

ありがとうございます。

Patryk

返信投稿者:ks-solruserml-bot (2025/04/30 10:21 投稿)

古い jar や古いバージョンを使っている人の参考になれば幸いです。

この問題の原因は、古い ojdbc6.jar にありました。

DIH(DataImportHandler)を修正して、Throwable をキャッチするようにしたところ、以下の例外が発生していることがわかりました:

Caused by: java.security.AccessControlException: access denied
("java.lang.RuntimePermission" "accessClassInPackage.sun.security.krb5")
    at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
    at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
    at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
    at java.base/java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1238)
    ...
    at oracle.net.ano.AuthenticationService.<clinit>(Unknown Source)

この問題を解決するために、データベースと互換性のある最新の Oracle JDBC ドライバ ojdbc8-19.3.0.0.jar にアップグレードしたところ、アクセス例外が発生しなくなり、DIH が正常に完了しました。

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2025 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?