Joined: Sep 15, 2009 Posts: 36 Location: Providence, RI
Posted: Tue May 22, 2012 5:01 pm Post subject: Problem with my iDisk solution.
Ever since I converted from OS/2 to OS X about ten years ago I have considered iDisk to be a major feature. Unfortunately Apple is killing it, but I hit on a substitute which works almost exactly the same and even costs a bit less. I use Transmit in conjunction with my Amazon S3 account. Transmit will mount my S3 as a disk so I can read and save to it just as I did with my iDisk. This works for every application I have tried including MS Office and NeoOffice. However while everything else that I have tried works smoothly, much quicker than my iDisk, NeoOffice works only if I wait long enough. NeoOffice reads normally when I click on a file, and it will also save accurately to my Transmit/S3 disk. However when saving it takes a long time, sometimes several minutes, to accomplish the job.
I know you are very busy and I also know I might be the only person in the world doing this with NeoOffice. Obviously I can also work around it by saving the file to my desktop and moving it to the disk, which is what I do now if I do not have the time for NeoOffice to do the job. But I am curious why it should be only NeoOffice that exhibits this behavior.
My gut tells me that Transmit is uploading bytes to S3 as NeoOffice writes each chunk of a file and that "wait for a chunk of the file to upload" is the bottleneck. I don't know if Transmit supports file locking and NeoOffice's native file locking triggers this bottleneck but I do know that Apple's iCloud service gives an application a local temporary file to save to and then, after local saving is complete, iCloud uploads the local copy in the background asynchronously.
I think if you take a sample of the NeoOffice process about a minute or so into saving process, it might shed some light on what Transmit is doing. Instructions for taking a sample of the NeoOffice process are in this NeoWiki article.
Joined: Sep 15, 2009 Posts: 36 Location: Providence, RI
Posted: Tue May 22, 2012 7:09 pm Post subject:
Hi Patrick
Here is the sample.
BTW, I do not get the beach ball. The NeoOffice screen is frozen, although everything else is normal. When the saving is finished I can again get a cursor.
Thank you for the sample. Unfortunately, the sample shows NeoOffice's underlying OpenOffice.org code calling the normal Mac OS X "write bytes to a file" function so I am not sure what Transmit enters the whole process of saving files.
Is Transmit a Mac OS X kernel extension or is there a special Transmit volume on your Desktop? If the latter, can you go to your Desktop, find the volume that is your Transmit volume, and right-click or Control-click on that volume's icon. In the popup menu that appears, select the Get Info option. If you can take a screen snapshot of the window that appears and attach it to your next post, that will hopefully give me some clues as to what protocol Transmit is using to handle any bytes that save.
The "Format: Unknown (transmitfs)" line in your snapshot tells me that it tells me that Transmit makes its volume look like an ordinary local disk so NeoOffice's underlying OpenOffice.org code will save your document like it does for any local disk.
What magic Transmit does from there I cannot see but I from what you describe, Transmit might be uploading any bytes written to NeoOffice to Amazon S3. I might be wrong about this what I think Transmit is doing when you save. But if Transmit uploads each chunk bytes as NeoOffice writes them to the volume, I can see how that would take forever.
Unfortunately, since Transmit is an ordinary local file system from NeoOffice's perspective, there isn't anything obvious we can change in our code. However, you might want to read through all of Transmit's preferences and see if there is any options for "deferred" or "asynchronous" upload.
My hope is that an option exists that will cause Transmit to upload to Amazon S3 in the background after NeoOffice has finished saving the file. Since you can reopen files fast, I assume that Transmit caches a local copy of the file so that it doesn't need to be redownloaded from S3 so maybe Transmit has some similar option for when saving?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum