You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Shuqian Ying (JIRA)" <ji...@apache.org> on 2016/03/26 19:47:25 UTC

[jira] [Updated] (CB-10164) Allow seeking beyond current data end of a file

     [ https://issues.apache.org/jira/browse/CB-10164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shuqian Ying updated CB-10164:
------------------------------
    Description: 
The plugin does not allow seeking beyond the current length of a file using the following code to enforce it:

if (offset > this.length) {
    this.position = this.length;
}

in the FileWriter.js file. 

We found this to cause a lot of issues in random access concurrent write application scenarios since it modifies the semantics of seek silently that may cause file corruption without informing the client what went wrong. Our application behaves correctly after removing such a restriction. 

We belief that such a restriction should be removed since file systems in most underlying OSs allow seeking beyond the current data end of a file (like Windows and *nix family of OSs), it's a POSIX.1 standard, adding a restriction on top of them does not make sense. If such a restriction is required, it maybe is better to throw an exception instead of "decide what to do for the client".

  was:
The plugin does not allow seeking beyond the current length of a file using the following code the enforce it:

if (offset > this.length) {
    this.position = this.length;
}

in the FileWriter.js file. 

We found this to cause a lot of issues in random access concurrent write application scenarios since it modifies the semantics of seek silently that may cause file corruption without informing the client what went wrong. Our application behaves correctly after removing such a restriction. 

We belief that such a restriction should be removed since file systems in most underlying OSs allow seeking beyond the current data end of a file (like Windows and *nix family of OSs), it's a POSIX.1 standard, adding a restriction on top of them does not make sense. If such a restriction is required, it maybe is better to throw an exception instead of "decide what to do for the client".


> Allow seeking beyond current data end of a file
> -----------------------------------------------
>
>                 Key: CB-10164
>                 URL: https://issues.apache.org/jira/browse/CB-10164
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Plugin File
>            Reporter: Shuqian Ying
>
> The plugin does not allow seeking beyond the current length of a file using the following code to enforce it:
> if (offset > this.length) {
>     this.position = this.length;
> }
> in the FileWriter.js file. 
> We found this to cause a lot of issues in random access concurrent write application scenarios since it modifies the semantics of seek silently that may cause file corruption without informing the client what went wrong. Our application behaves correctly after removing such a restriction. 
> We belief that such a restriction should be removed since file systems in most underlying OSs allow seeking beyond the current data end of a file (like Windows and *nix family of OSs), it's a POSIX.1 standard, adding a restriction on top of them does not make sense. If such a restriction is required, it maybe is better to throw an exception instead of "decide what to do for the client".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org