Hello,
I have some questions about the bulk upload and possible PEPs that need to be triggered:
1. I have a test folder which has several files in different size. `iput -rb test` always triggers `
pep_api_data_obj_put_post` which seems, I am guessing, normal (if there is no bug), though I expected it should trigger `pep_api_bulk_data_obj_put_post`. And I think then what is written
here is valid only for the static `
acPostProcForPut`, not for the dynamic `
pep_api_data_obj_put_post`. Is this correct? That is, we should expect `
pep_api_data_obj_put_post` will be triggered n times (files quantity in the test folder) by iput -rb.
2. By using `iput -rb`, I could manage to trigger a bulk PEP -`pep_api_bulk_data_obj_put_post`- only for the very small size files (guessing under 1MB) inside a folder. And this bulk pep is triggered only two times regardless of how many small files you have. So that for those files. the `pep_api_data_obj_put_post` pep is not triggered. However, if `iput -rb` run for a single small size file, then only the `pep_api_data_obj_put_post` is triggered. I am wondering in which condition a bulk PEP is triggered. Is it normal that `iput -rb` triggers the bulk pep only two times for more than two files?
3. In line with the observation in the number 2, how should we understand the bulk operation is being performed? It seems that as the verbose shows below, the bulk is for certain sizes:
-bash-4.2$ iput -brv test_KB
Running recursive pre-scan... pre-scan complete... transferring data...
C- /u0137480/home/rods/test_KB:
5MB 5.000 MB | 2.378 sec | 0 thr | 2.103 MB/s
C- /u0137480/home/rods/test_KB:
Bulk upload 5 files.
test100k.db 0.488 MB | 1.919 sec | 0 thr | 0.254 MB/s
4. `irsync -r test :i test` never triggers any bulk PEPs. So can we say for small files `iput -rb` and `irsync` uses different API? Any correlation between iput -rv and irsync -r for small files?
5. For many small files inside a source folder that needs to be synched to iRODS, `pep_api_data_obj_put_post` pep is triggered as many as the files quantity that needs to be synched. Does this create any performance issue?
Answers to these questions will help us to understand an issue that we have recently experienced. That was, once we enabled a python rule which includs `pep_api_data_obj_put_post` pep, we observed the iput -rv and irsync -r operations stuck and does nothing - cant recursively uploads (of course there might be another causing reasons).
Thanks in advance.
Best Regards,
Mustafa