[RDMLX/RPG] DbUploadSegmentSizeLimit with Multiple Table Uploads
Posted: Wed Apr 10, 2019 12:48 am
Hi all.
Although I've tagged this as [RDMLX/RPG] my specific scenario relates to an RDMLX application, but I think the question is relevant to all.
So anyway, I've got an existing offline LR application which uploads data to the server. The upload comprises of a number of different types of data, sourced from a number of different SQLite tables on the device. Currently all the data goes up in one block and is processed in one go on the server. Because the different datasets relate to each other I initially dump the uploaded data into working lists from where I can manipulate and process the related data, eventually, once processed it is written to database files up on the IBMi.
This has worked fine for a few years - but due to application growth, network and server loading etc the uploads are now beginning to fail / timeout. So, what I want to do is use dbuploadsegmentsizelimit to split the upload into smaller chunks, to reduce the chance of a timeout, so the question is, does the executing server program stay resident in memory, with field values and list contents intact until all of the chunks have been uploaded... or is a clean start on the server for each chunk. If its the latter, and because all my data is connected and needs to be processed in one go, I think I'm going to have to create a bunch of intermediate tables on the IBMi to initially accumulate the uploaded data, and do my processing from that, rather than using working lists.
I just wondered if anybody has used dbuploadsegmentsizelimit for related multi-table uploads and has faced a similar situation. I'm going to run some tests and will post my findings here, but just thought I'd throw this out to the community.
Cheers for now.
Marcus.
Although I've tagged this as [RDMLX/RPG] my specific scenario relates to an RDMLX application, but I think the question is relevant to all.
So anyway, I've got an existing offline LR application which uploads data to the server. The upload comprises of a number of different types of data, sourced from a number of different SQLite tables on the device. Currently all the data goes up in one block and is processed in one go on the server. Because the different datasets relate to each other I initially dump the uploaded data into working lists from where I can manipulate and process the related data, eventually, once processed it is written to database files up on the IBMi.
This has worked fine for a few years - but due to application growth, network and server loading etc the uploads are now beginning to fail / timeout. So, what I want to do is use dbuploadsegmentsizelimit to split the upload into smaller chunks, to reduce the chance of a timeout, so the question is, does the executing server program stay resident in memory, with field values and list contents intact until all of the chunks have been uploaded... or is a clean start on the server for each chunk. If its the latter, and because all my data is connected and needs to be processed in one go, I think I'm going to have to create a bunch of intermediate tables on the IBMi to initially accumulate the uploaded data, and do my processing from that, rather than using working lists.
I just wondered if anybody has used dbuploadsegmentsizelimit for related multi-table uploads and has faced a similar situation. I'm going to run some tests and will post my findings here, but just thought I'd throw this out to the community.
Cheers for now.
Marcus.