Issue 4272: ftam/ftp issue: lifecycle of FileTransferSession, Directory, and File (ftamftp-ftf) Source: DSTC (Mr. Ted McFadden, mcfadden@dstc.edu.au) Nature: Uncategorized Issue Severity: Summary: Once a FileTransferSession object is created on behalf of a client a large number of Directory and File objects can be created by calls to list and get_file. The specification does not address reclaiming server side resources when these objects are no longer required by the client. Once FileTransferSession::logout is called it can be inferred that all of the associated Directory and File objects should no longer be valid and can be reaped. The specification should state that they must no longer be valid, as you should not have access to a file or directory after you have logged out. If after using a number of file and directories a client has no further use for them, there should be a way for the client to inform the server. This requires a destroy() method on the File interface. Also, a robust virtual file system implementation must be allowed to reap FileTransferSession, Directory, and File objects at any time in order to reclaim resources from ill-behaved clients that acquire but do not release objects. The spec should mention that all clients, but particularly those that don't actively use File and Directory references for long periods, can expect OBJECT_NOT_EXIST exceptions. Resolution: see above Revised Text: Chapter 3. Every interface except FileSystem has a destroy operation. Section 3.2 Object LifeCycle states: All of the interfaces except for FileSystem have a destroy operation. After the destroy method is invoked, any further operations on the object reference will raise an OBJECT_NOT_EXIST. A client should invoke destroy on an object after use is complete to allow a service imple-mentation to reclaim resources. An implementation is free to reap objects at any time in order to reclaim resources. Clients should expect that any operation on a CosFileTransfer object may raise an OBJECT_NOT_EXIST as a server may reclaim an object, particularly if inactive, at anytime. Actions taken: February 20, 2001: received issue Discussion: Resolution destroy methods added to the FileSystemEntry interface, base interface for Directory and File interfaces. destroy methods provided on other interfaces introduced by the FTF. End of Annotations:===== Date: Wed, 18 Apr 2001 14:51:20 +1000 From: Ted McFadden To: juergen@omg.org Subject: Did this issue get a number? [ftam/ftp issue: lifecycle of FileTransferSession, Directory, and File objects] Message-ID: <20010418145120.A28177@iona.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0i Content-Type: text/plain; charset=us-ascii X-UIDL: 0"]!!#)9e9HTE!!lj%e9 Hi Juergen, Did this issue make it? It was sent at the same time as issues 4208 and 4209 but I can't find it on the ftam-ftp issues page. Sorry for not noticing this sooner, I lost track of all the issues I was raising about this spec. ;-) Cheers, Ted ----- Forwarded message from Ted McFadden ----- Date: Tue, 20 Feb 2001 17:01:30 +1000 From: Ted McFadden To: issues@omg.org Cc: tmcf@ooc.com.au Subject: ftam/ftp issue: lifecycle of FileTransferSession, Directory, and File objects Mail-Followup-To: issues@omg.org X-Mailer: Mutt 1.0i X-Mailfolder: sent-2001-02.bz2 Hi, ftam/ftp issue: lifecycle of FileTransferSession, Directory, and File --------------------------------------------------------------------- Once a FileTransferSession object is created on behalf of a client a large number of Directory and File objects can be created by calls to list and get_file. The specification does not address reclaiming server side resources when these objects are no longer required by the client. Once FileTransferSession::logout is called it can be inferred that all of the associated Directory and File objects should no longer be valid and can be reaped. The specification should state that they must no longer be valid, as you should not have access to a file or directory after you have logged out. If after using a number of file and directories a client has no further use for them, there should be a way for the client to inform the server. This requires a destroy() method on the File interface. Also, a robust virtual file system implementation must be allowed to reap FileTransferSession, Directory, and File objects at any time in order to reclaim resources from ill-behaved clients that acquire but do not release objects. The spec should mention that all clients, but particularly those that don't actively use File and Directory references for long periods, can expect OBJECT_NOT_EXIST exceptions. Cheers, Ted -- Ted McFadden tmcf@ooc.com.au Object Oriented Concepts Inc. - An IONA Company http://www.ooc.com Suite 4, 8 Martha St. +61-7-3324-9633 Camp Hill, Brisbane, 4169, QLD. Australia ----- End forwarded message ----- -- Ted McFadden ted.mcfadden@iona.com Object Oriented Concepts Inc. - An IONA Company http://www.orbacus.com Suite 4, 8 Martha St. +61-7-3324-9633 Camp Hill, Brisbane, 4169, QLD. Australia Date: Fri, 29 Jun 2001 18:03:06 +1000 From: Ted McFadden To: ftamftp-ftf@omg.org Subject: FTAM-FTP Vote 2: Vote Closes July 7, 2001 12:00AM Message-ID: <20010629180306.C25731@iona.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0i Content-Type: text/plain; charset=us-ascii X-UIDL: 8aQd9g(id9-U6!!lV1!! Hi, Since there have been no comments on the issues or form of the vote, I'll go ahead and call it. There was a typo in the original email concerning issue 4272 (accidently duplicated text for 4229). Please do not wait until submitting your votes to comment on the issues. Depending on how close to the deadline you vote this leaves no opportunity for discussion or swaying others to your point of view. The next event date for this FTF is the comment deadline, which is July 31. Cheers, Ted FTAM Vote #2 Closes July 7 12:00AM ---------------------------------- Most of the votes are marked as DIRECTION votes. A YES vote is to have the FTF address the issue and the issue remains open. If you vote NO, you are voting to have the issue is closed. Issues 3820, 4050, 4053, 4178 are not DIRECTIONAL but should be minor, bordering on editorial, issues. Issue 4054 appears to be a duplicate of 3820. Some issues we vote on may become obsolete by the later resolution of other issues, please vote regardless. This vote requires a response from all FTF members. As usual, miss two consecutive votes and you lose voting rights. ( Everyone voted last time. ) Issues ------------------------------------------------------------------ 3820: Change delete to delete_file Avoid use of C++ reserved word. Vote: YES, Change the FileTransferSession::delete operation to File::delete_file. NO, close it without change. 4047: Beef up discussion of how property service is used. DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4048: Clarify roles of sender and receiver in file transfer DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4049: We need to discuss protocols supported. (issue specifically asks about specifying FTAM) DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4050: IDL Type name and parameter name should differ by more than just case. Specifically refers to FileTransferSession::delete(File file) Vote: YES, Change the `file' parameter name to `del_file'. (If you want a different name, make noise NOW.) NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4051: ProtocolSupport struct: define values for protocols DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4053: delete and create_directory operations missing CommandNotImplemented exception. Vote: YES, Add this exception to the delete and create_directory operations. NO, close this issue without action. 4054: `delete' operation is a C++ keyword DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. It is a duplicate of 3820. 4177: Transfer operation protocol negotation unspecified DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4178: FileTransferSession::insert method signature mismatch insert offset parameter long type should match file size property `unsigned long' type. Vote: YES, The insert method offset parameter should be unsigned long like the File property `size'. NO, close this issue without action. 4179: Use of Directory in transfer/insert/append/delete operations. DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4180: set_directory effect unclear DIRECTION Vote: YES, FTF should remove this operation. Issue will remain open until specific text changes are available for review and a final vote. NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4181: Directory list operation is underspecified DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4182: File Iterator operations not defined in the spec DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4183: How does transfer operation determine FileTransferSession object identity? DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4184: Use of Istring in IDL: DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4209: Setting up file transfer and transfer protocols DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4227: Cannot transfer files if File has the same associated FileTransferSession. DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4228: listening socket determination of source / destination File DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4229: Active vs passive connect for file transfer (Firewalls....) DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. 4272: Lifecycle of FileTransferSession, Directory, and File DIRECTION Vote: YES, FTF needs to address this issue, keep it open NO, close this issue without action. Not an issue or specification adequately addresses the issue. -- Ted McFadden ted.mcfadden@iona.com IONA Total Business Integration (TM) Suite 4, 8 Martha St. +61-7-3324-9633 Camp Hill, Brisbane, 4169, QLD. Australia