pipelining support in iRODS protocol

8 views
Skip to first unread message

Illyoung Choi

unread,
Mar 9, 2023, 3:06:45 AM3/9/23
to iRODS-Chat
Hi iRODS,

Does iRODS protocol support pipelining? I believe iRODS C/C++ API and python-irodsclient perform API request then wait its response. The next request isn't made until the first response arrives. Is this because the iRODS protocol doesn't support pipelining? I'd like to make multiple file write requests before their response arrive to improve file write performance.

Thanks,
Illyoung

Alan King

unread,
Mar 9, 2023, 9:40:32 AM3/9/23
to irod...@googlegroups.com
The only thing I can think of would be to make use of the nonblocking storage resource: https://docs.irods.org/4.3.0/plugins/composable_resources/#non-blocking

Does that seem like it could be an option? Or do you really need the API itself to have this asynchronous write ability?

--
--
The Integrated Rule-Oriented Data System (iRODS) - https://irods.org
 
iROD-Chat: http://groups.google.com/group/iROD-Chat
---
You received this message because you are subscribed to the Google Groups "iRODS-Chat" group.
To unsubscribe from this group and stop receiving emails from it, send an email to irod-chat+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/irod-chat/d34e8e8a-82ca-4c26-b260-72fbf7e77e92n%40googlegroups.com.


--
Alan King
Senior Software Developer | iRODS Consortium

Illyoung Choi

unread,
Mar 9, 2023, 12:33:31 PM3/9/23
to irod...@googlegroups.com
Hi Alan,

I just want to know if current data object write API can be used for asynchronous write. Like, if we just request file write 5 times, then read their response. In this case, will the responses in the correct order? I’m not sure now the server handles the APIs. If it handles API requests one-by-one, the responses will be in order. But if they are handled in parallel the order may not be preserved. 

Illyoung Choi

Alan King

unread,
May 2, 2024, 11:01:37 AMMay 2
to irod...@googlegroups.com
Sorry for the delayed reply here... You've probably figured it out by now, but I'll just write back anyway :)

The only thing I can think to do is to make parallel write calls via separate connections (what we call "multi-1247 parallel transfer"). Otherwise, yes, within a single connection, writes must wait for the response from each API call before the next one can be done.

Reply all
Reply to author
Forward
0 new messages