0
私のスプリングバッチアプリケーションで200万レコードとグリッドサイズ20を処理しています。 100から200kのレコードでは正常に動作しますが、200万回のパーティション分割では失敗します。パーティショニング後にスプリングバッチがハングする
パーティション情報:
{
partition - 20 = {
startKey = 1980865.0,
endKey = 2069192.0,
partitionSize = 72,
partitionId = 20,
partitionRecordCount = 88328
},
partition - 10 = {
st
artKey = 938305.0,
endKey = 1042560.0,
partitionSize = 72,
partitionId = 10,
partitionRecordCount = 104256
},
partition - 11 = {
startKey = 1042561.0,
endKey = 1146816.0,
partitionSize = 72,
partitionId = 11,
partitionRecordCount = 104256
},
partition - 12 = {
startKey = 1146817.0,
endKey = 1251072.0,
partitionSize = 72,
partitionId = 12,
partitionRecordCount = 104256
},
partition - 13 = {
startKey = 1251073.0,
endKey = 1355328.0,
partitionSize = 72,
partitionId = 13,
partitionRecordCount = 104256
},
par
tition - 14 = {
startKey = 1355329.0,
endKey = 1459584.0,
partitionSize = 72,
partitionId = 14,
partitionRecordCount = 104256
},
partition - 15 = {
startKey = 1459585.0,
end
Key = 1563840.0,
partitionSize = 72,
partitionId = 15,
partitionRecordCount = 104256
},
partition - 16 = {
startKey = 1563841.0,
endKey = 1668096.0,
partitionSize = 72,
p
artitionId = 16,
partitionRecordCount = 104256
},
partition - 17 = {
startKey = 1668097.0,
endKey = 1772352.0,
partitionSize = 72,
partitionId = 17,
partitionRecordCoun
t = 104256
},
partition - 18 = {
startKey = 1772353.0,
endKey = 1876608.0,
partitionSize = 72,
partitionId = 18,
partitionRecordCount = 104256
},
partition - 19 = {
startKey =
1876609.0,
endKey = 1980864.0,
partitionSize = 72,
partitionId = 19,
partitionRecordCount = 104256
},
partition - 1 = {
startKey = 1.0,
endKey = 104256.0,
partitionSize
= 72,
partitionId = 1,
partitionRecordCount = 104256
},
partition - 2 = {
startKey = 104257.0,
endKey = 208512.0,
partitionSize = 72,
partitionId = 2,
partitionRecordCou
nt = 104256
},
partition - 3 = {
startKey = 208513.0,
endKey = 312768.0,
partitionSize = 72,
partitionId = 3,
partitionRecordCount = 104256
},
partition - 4 = {
startKey = 3127
69.0,
endKey = 417024.0,
partitionSize = 72,
partitionId = 4,
partitionRecordCount = 104256
},
partition - 5 = {
startKey = 417025.0,
endKey = 521280.0,
partitionSize = 7
2,
partitionId = 5,
partitionRecordCount = 104256
},
partition - 6 = {
startKey = 521281.0,
endKey = 625536.0,
partitionSize = 72,
partitionId = 6,
partitionRecordCount
= 104256
},
partition - 7 = {
startKey = 625537.0,
endKey = 729792.0,
partitionSize = 72,
partitionId = 7,
partitionRecordCount = 104256
},
partition - 8 = {
startKey = 729793
.0,
endKey = 834048.0,
partitionSize = 72,
partitionId = 8,
partitionRecordCount = 104256
},
partition - 9 = {
startKey = 834049.0,
endKey = 938304.0,
partitionSize = 72,
partitionId = 9,
partitionRecordCount = 104256
}
}
Total no. of Partitions: 20
それは印刷し、最後にログが作成され、その後、制御パーティションが作家になることはありません。 200kレコードでは苦労していたので、接続プールのサイズを増やして問題を修正しましたが、2百万行には達しませんでした。
エラーはありません。ただそれだけでハングします。
20パーティションの場合は、あなたはアプリをプロファイリングしましたか?それは何にぶら下がっているのですか?私は、アプリケーションが停止しているように見える原因となった多数のパーティションを使用しているときに、ステップ実行がジョブリポジトリにどのように格納されていたかを知っていました。しかし、最近のバージョンでは修正されています... –
@MichaelMinella、プロファイリングは行っていませんが、パーティションは20より前と後で、私はそれらを5に減らしました。いくつかのファイルがあり、「通信リンク障害」エラーが発生してハングアップしたり、いつかブレークしたりします。このエラーは少ないデータで決して来ることはありません。 – ViS
それは働いて、パーティションクエリが間違っていた、プラス、ファイルの書き込みはスレッド化されていませんでした。 – ViS