Talk:Append a record to the end of a text file: Difference between revisions

→‎Table?: Demonstration ≔ GOOD!
(→‎Changed: or just leave it)
(→‎Table?: Demonstration ≔ GOOD!)
 
(4 intermediate revisions by 2 users not shown)
Line 8:
 
::: I'm under the same impression as Rdm. Is this about appending? Or some kind of record locking? Is it about append in native I/O facilities? I was also trying to understand the rationale behind the table and that the table has been left as somewhat vague. Normally, I would use a table for very specific results/observations and a bullet list for less specific results/observations. We are already seeing variations on the table content - which is fine if that's what's intended. For instance a couple of the solutions cite that they are guaranteed for multitasking, yet I don't see that they are doing anything other than relying on the o/s or library via open/close. --[[User:Dgamey|Dgamey]] 13:38, 26 September 2011 (UTC)
 
::: There is also [http://www.mjmwired.net/kernel/Documentation/filesystems/mandatory-locking.txt mandatory locking], but you don't really want that. It turns out to be a Bad Idea almost all the time since it allows any process to block all others (among various reasons). –[[User:Dkf|Donal Fellows]] 19:50, 27 September 2011 (UTC)
 
== CSV? ==
Line 101 ⟶ 103:
Depending on what you want to salvage I suggest a couple of options: If you know what you want, create another task (or tasks) for those requirements. I'm not sure of the correct procedure. Should this discussion get archived somewhere? Rename and recast the task? Also, possibly mark this task prominently as 'dead' or 'deprecated' or whatever. However, I haven't killed one yet so I may not be the best one to ask. --[[User:Dgamey|Dgamey]] 01:52, 27 September 2011 (UTC)
: Some people may find file append operation interesting. Maybe just add a note about concurrency issue and leave it at that? It's not like the million other file related tasks worried about it. --[[User:Ledrug|Ledrug]] 02:13, 27 September 2011 (UTC)
 
Just a note about NFS. You don't get atomic writes on it. Ever. Moreover, you can't count on file locking working either (and mandatory locking really doesn't work). The only way to handle high-integrity data writing on NFS is to ''use a different, local filesystem''. Part of the problem is that even if the filesystem semantics worked, it's still all reliant on the underlying messages getting delivered over the network, and that's impossible to handle in a performant manner. (Locking, etc., require a basic concept called “distributed consensus”, and that's known theoretically hard, with the amount of practical difficulty depending on the probability of particular messages going AWOL. Heavy loads — when file contention is likely in the first place — is when this whole thing starts to really suck.) In practice, people put high-integrity filestores only on local disks and use other protocols (e.g., the ones for talking to webservers or remote databases) to communicate at a higher level of abstraction. –[[User:Dkf|Donal Fellows]] 10:56, 14 November 2011 (UTC)
 
== Table? ==
 
What is “Provide a summary of the language's "append record" capabilities in a table.” supposed to do? Wouldn't that information be better collected in another page so that it can be made consistent and to promote comparison of different languages? –[[User:Dkf|Donal Fellows]] 19:56, 27 September 2011 (UTC)
 
Collecting the information in another page is not as effective as having nearby actual code to demonstrate the properties. [[User:NevilleDNZ|NevilleDNZ]] 03:34, 6 October 2011 (UTC)
: I certainly think that demonstrating how to do things is good. That's the whole basis for RC tasks. –[[User:Dkf|Donal Fellows]] 10:59, 14 November 2011 (UTC)
Anonymous user