EDIFACT Order Export workflow [Nolana]
Overview
Retesting of EDIFACT for Nolana release in scope of PERF-311. EDIFACT is one of data-export-worker workflows that includes organisations and orders export to FTP server.
Infrastructure
Module | Version | Max Metaspace size MB | XMX MB | Soft Limit | Hard Limit |
---|---|---|---|---|---|
mod-data-export-worker | 1.5.0-SNAPSHOT.76 | 612 | 2128 | 2600 | 3072 |
mod-data-export-spring | 1.5.0-SNAPSHOT.58 | 612 | 1536 | 1844 | 2048 |
mod-orgers | 12.5.0-SNAPSHOT.229 | 512 | 896 | 896 | 1024 |
mod-orgers-storage | 13.4.0-SNAPSHOT.154 | 128 | 768 | 896 | 1024 |
mod-organizations | 1.6.0-SNAPSHOT.32 | 128 | 768 | 896 | 1024 |
mod-organizations-storage | 4.3.1-SNAPSHOT.69 | 128 | 768 | 896 | 1024 |
mod-configuration | 5.9.0-SNAPSHOT.282 | 128 | 768 | 896 | 1024 |
Summary
- EDIFACT is stable and it can successfully export up to 3000 orders if it's one job at the time;
- For 3-10 jobs EDIFACT export is unstable due to FTP server issues;
- We still can observe same behavior as it was in previous report EDIFACT Order Export workflow report 3 [Morning Glory]. The higher number of orders causes higher success rate. However for Nolana release we wasn't able to reach success rate higher than 60% due to FTP issues.
- Duration of exports decreased in comparison to Morning Glory.
- Most of resource usage decreased in comparison to Morning Glory release.
- Ticket to investigate FTP server issue - MODEXPW-302Getting issue details... STATUS
Note: right now FTP server is located in US.EAST-1 region while our env is located in US.WEST-2 which might cause higher failure rate. In future we'll retest EDIFACT with new FTP server on US.WEST-2.
Summary after retest
- EDIFACT after fixing - MODEXPW-302Getting issue details... STATUS is able to complete 3000 orders 10 jobs simultaneously;
- FTP issue is no longer reproducible;
- No additional issues were found;
- We still can observe small memory leak on mod-data-export-worker (1-2% per jobs set) We'll investigate it in scope of PERF-359
Test Results
Test # | Concurrent jobs | Orders per job | Success rate | Time | ERRORS |
---|---|---|---|---|---|
1 | 3 | 1000 | 2/3 | 1min 17s | File upload failed. 450 PASV: data transfer in progress (FtpException) |
2 | 5 | 1000 | 2/5 | 1min 17s | null (NullPointerException) |
3 | 10 | 1000 | 2/10 | 1min 20s | (FtpException) File upload failed. 450 PASV: data transfer in progress (FtpException) File upload failed. 226 Transfer complete (FtpException) |
4 | 10 | 2000 | 6/10 | 2m 54 s | Connection is not open (IOException) null (NullPointerException) Socket closed (SocketException) |
5 | 10 | 3000 | 6/10 | 4min 30s | Socket closed (SocketException) Connection closed without indication. (FTPConnectionClosedException) Connection is not open (IOException) |
Resources usage
Note: In comparison with Morning Glory release modules CPU usage decreased. for comparison mod-configuration from 400 to 300 max (for corresponding tests) same for the rest of a modules.
Note: we can see slight increasing of memory usage on mod-data-export-worker (here more spikes of memory usage) and mod-data-export-spring (from 17% to 23%). However while memory usage do not increases from test to test we can say that it's working conditions of these modules.
Note: In comparison with Morning Glory release RDS CPU usage decreased from 70-80% to 30-35%
FTP Issues
Note: According to Serhii_Nosko and his code analysis - there is no retry in mod-data-export-worker to ftp server, which mean that if it was not able to connect from the first time to the FTP server it will fail the whole process.
Also nullPointerException is related to FTP server issue as well.
Retest after bug fixes set #1
In scope of - MODEXPW-302Getting issue details... STATUS development team has created fix to the FTP server issue MODEXPW-302
Results
Test # | Concurrent jobs | Orders per job | Success rate | Time | ERRORS |
---|---|---|---|---|---|
1 | 10 | 1000 | 10/10 | 1 min 30s | none |
2 | 10 | 1000 | 10/10 | 1 min 31s | none |
Resource usage
Note: We can observe growing of mod-data-export-worker memory usage, however after several additional tests we wasn't able to see growing.
Note: DB CPU usage is ±25% during both tests.
Retest after bug fixes set #2
Results
Test # | Concurrent jobs | Orders per job | Success rate | Time | ERRORS |
---|---|---|---|---|---|
1 | 10 | 500 | 10/10 | 47 s | - |
2 | 10 | 100 |