How to go around max path lenght in Solaris

Hi, I have really special question. I have been searching internet for answers, but nothnig satisfy my needs.
I found some basic info in http://forums.sun.com/thread.jspa?threadID=5357258
I need to store realy huge amount of files and i have been searchnig for suitable FS. I have found ZFS wich is ideal for my needs. My problem is, that file path is limited to 1024 chars. Please don't say, that is long enough, i need more. This limitation is "guaranteed limit for the length of a path that system calls will deal with" so is it possible to raise this number or somehow to go around it?? I wrote test programs in Java nad C++ and both stops creating dirs when file path was about 1024.
For example in Windows is path limit 260 chars, but it is only backward compatibility, so using Win API it is possible to have path length about 32 000. Exists something similar in solaris?
And next question is about ZFS. It is better to have huge amount of files in dir tree or all files in one dir (if it is not limited like file path)? For human is better dirs, i know, but my files wont be human-browsable.
dir tree:        in one dir:
/0/0.ext         /00.ext
/0/0/0.ext       /000.ext
/0/0/0/0.ext     /0000.ext
/0/0/0/1.ext     /0001.extwich type of storage has better efficiency in ZFS?
Thanks

I have made some tests and here are results:
OS: OpenSolaris 2009.06 (console mode, not Gnome)
FS: ZFS
CPU: Intel Pentium 4
RAM: 1 GB (free 500 MB before start)
Test 1 - ZFS
Files: about 220,000 (system) + 12,356,630 (generated and tested files)
File size: 1024 B
Generation speed: about 1200 files per second
Deleting speed: 10 hours
+-----+---------+--------+--------+-------------+
|found|  files  |  time  |  avrg  | readed data |
+-----+---------+--------+--------+-------------+
| yes |   1,024 | 45 sec |  44 ms |       1 MiB |
| yes |   1,024 | 37 sec |  36 ms |       1 MiB |
| yes |   1,024 | 50 sec |  49 ms |       1 MiB |
| yes |   1,024 | 42 sec |  41 ms |       1 MiB |
| yes |   1,024 | 36 sec |  35 ms |       1 MiB |
| yes |   1,024 | 48 sec |  47 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 36 sec |  35 ms |       1 MiB |
| yes |   1,024 | 51 sec |  50 ms |       1 MiB |
| yes |   1,024 | 43 sec |  42 ms |       1 MiB |
| yes |   1,024 | 47 sec |  46 ms |       1 MiB |
| yes |   1,024 | 48 sec |  46 ms |       1 MiB |
| yes |   1,024 | 42 sec |  41 ms |       1 MiB |
| yes |   1,024 | 47 sec |  46 ms |       1 MiB |
| yes |   1,024 | 42 sec |  41 ms |       1 MiB |
| yes |   1,024 | 45 sec |  44 ms |       1 MiB |
| yes |   1,024 | 43 sec |  42 ms |       1 MiB |
| yes |   1,024 | 37 sec |  37 ms |       1 MiB |
| yes |   1,024 | 49 sec |  48 ms |       1 MiB |
| yes |   1,024 | 46 sec |  44 ms |       1 MiB |
+-----+---------+--------+--------+-------------+
Test 2 - MySQL
Records: 16,777,214
Record data size: 1024 B
Size of table: 16.6 GiB
Generation speed: about 700 files per second
Deleting speed: 30 seconds
+-----+---------+--------+--------+-------------+
|found| entries |  time  |  avrg  | readed data |
+-----+---------+--------+--------+-------------+
| yes |   1,024 |  1 min |  66 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 43 sec |  42 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 41 sec |  40 ms |       1 MiB |
| yes |   1,024 | 40 sec |  40 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 40 sec |  39 ms |       1 MiB |
| yes |   1,024 | 39 sec |  38 ms |       1 MiB |
+-----+---------+--------+--------+-------------+So both ways are very similar, but MySQL was little faster and has more entries. My test computer is very bad, so it is hard to say wich way will be faster on some server with more RAM, fasters discs and CPU. But you were right, because MySQL was faster than FS. So maybe i will use database insteda of FS, because there is no limit and i can save som other info wich is in file's data now. Thanks that you compel me to try it.

Similar Messages

  • Train model process - How to reset its max path

    Hi everyone,
    Could someone please point me into any document or give me any advice on how I can clear the max path of the process train. The process train that I created is called every time by the registration user who enters many applications. Each application creates a process train with the 8 pages they need to go through. The first time it works perfectly, but the second time, because they finished the first process, the component still thinks that they already went through all the pages and allows them to click the last page. I noticed the class is based on a session bean so I suppose somewhere I need to call clearMaxPath() from class ProcessMenuModel. I have been trying to create a method in the main class but it seems I cannot access this method. Any ideas would be appreciated. The class where I was trying to add this method is below:
    package esolve.userinterface.menu;
    import java.beans.IntrospectionException;
    import java.io.Serializable;
    import oracle.adf.view.faces.model.MenuModel;
    import oracle.adf.view.faces.model.ProcessMenuModel;
    public class ProcessTrainModelAdapter implements Serializable {
    private String _propertyName = null;
    private Object _instance = null;
    private transient MenuModel _model = null;
    private Object _maxPathKey = null;
    public MenuModel getModel() throws IntrospectionException {
    if (_model == null)
    _model = new ProcessMenuModel(getInstance(),
    getViewIdProperty(),
    getMaxPathKey());
    return _model;
    public String getViewIdProperty() {
    return _propertyName;
    * Sets the property to use to get at view id
    * @param propertyName
    public void setViewIdProperty(String propertyName) {
    _propertyName = propertyName;
    _model = null;
    public Object getInstance() {
    return _instance;
    * Sets the treeModel
    * @param instance must be something that can be converted into a TreeModel
    public void setInstance(Object instance) {
    _instance = instance;
    _model = null;
    public Object getMaxPathKey()
    return _maxPathKey;
    public void setMaxPathKey(Object maxPathKey)
    _maxPathKey = maxPathKey;
    And from the faces config this is the session bean
    <!--Step 4. create the train menu model -->
    <managed-bean>
    <managed-bean-name>createTrainMenuModel</managed-bean-name>
    <managed-bean-class>esolve.userinterface.menu.ProcessTrainModelAdapter</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>maxPathKey</property-name>
    <value>8</value>
    </managed-property>
    <managed-property>
    <property-name>viewIdProperty</property-name>
    <value>viewId</value>
    </managed-property>
    <managed-property>
    <property-name>instance</property-name>
    <value>#{createTrainNodes}</value>
    </managed-property>
    </managed-bean>

    Hi Dennis,
    Please see example code. In here it works well because of the change of data source. If you use a .json file rather than json object as data source ( I don't know how to do it in JSBin), bugs appear as I mentioned above.
    Here's a simple test case using .json file as data source, hope it helps to make me understood:
    Step1. select "item 0" , and check "mcb0_0" & "mcb0_1".
    Step2. select "item 1". See what happens.
    Result:
    1."mcb1_0" & "mcb1_1" are automatically selected.------- WRONG.
    2. The value of MultiComboBox is mcb0_0mcb0_1.--------WRONG.

  • How do I wrap a path around a part of another path?

    I want to weave a line (using a brush that looks like a chain) around another path but I don't know how to move just portions of the line below the path while keeping other portions above it.

    Here is the step-by-step of the Live Paint method.
    Two simple paths, before wrapping:
    Here the eyedropper has been clicked on the pink shape, so that the formerly-gold areas selected above have been filled with pink. Also the stroke styles of the overlapping pieces have been changed as well. (You may need to change the options of the Live Paint Select tool to enable it to select strokes.)
    The neat thing about the Live Paint method is that you have only two paths, and any changes made to them intelligently repaint the overlapping regions. Here we see what happens after you rotate the gold path:
    But paths in Live Paint groups cannot carry brushes or effects. So for complex designs the Clipping Mask method is still best, even though it means that if you want to edit the duplicated shape you will have to either redo the duplication, or else make exactly the same edits to both copies. So that can be another factor to take into account when deciding which of the two designs to duplicate: if you expect to be more likely to want to edit one of them than the other, then the one you want to edit should be the one that isn't duplicated.

  • How do I use long path names ("\\?\UNC\...") with Server 2008 roaming profiles?

    Hey folks!
    I administrate a Windows Server 2008 R2 SP1 Domain with about 40 users on
    Windows 7 SP1 clients. Because the users often switch between the many PCs, I am using Roaming Profiles which tend to produce errors with different application-specific paths and files inside the users profiles.
    As one of many example, our standard mail application Thunderbird produces paths and files according to folders/subfolders and mails in a user's mailbox. Another one is Microsoft Office's Auto Recovery files which reside in a user's profile and can
    get very long.
    These paths and filenames often extend the allowed max. path of about 256 characters, when (on log on or off) the synchronization process between the client and the server takes place, leading to errors in the event log and a notification to the user about
    the conflict:
    "Event ID 1509 - Windows cannot copy file \\server\share\users\user123.v2\AppData\Roaming\looooong to location C:\Users\user123\AppData\Roaming\looooong. DETAIL - The filename or extension is too long."
    In the long run this leads to different file versions on different clients which - in the case of Thunderbird - leads to missing mails.
    After extensive searches and lectures of forums - including this - I haven't found a solution for this problem.
    So my question is if there's a way to use the extended max path with roaming profiles and if so how do I get it to work?
    I tried changing the profile path of a test user in the Active Directory user preferences from "\\server\share\profiles\test_user" to something like "\\?\UNC\server\share\profiles\test_user" without any changes in the system's behavior.
    Also I think that because this is such a fundamental problem somebody must have come up with a solution for it...
    Thanks in advance,
    Nico

    Hi,
    Thanks for your posting.
    The Event 1509 can happen if the destination path of the users profile is on a server with a long name and share folder name. For detail information, please refer to:
    User profile cannot be loaded with Event ID 1509, DETAIL - The filename or extension is too long
    http://blogs.technet.com/b/win7/archive/2011/02/15/user-profile-cannot-be-loaded-with-event-id-1509-detail-the-filename-or-extension-is-too-long.aspx
    User profile cannot be loaded with Event ID 1509, DETAIL - The filename or extension is too long
    http://support.microsoft.com/kb/2536571
    Hope this helps.
    Regards.
    Vivian Wang
    TechNet Community Support

  • Dev 6.0: Bug in ReportBuilder (!!!) How to work around ?

    Hi !
    I have a problem with ReportBuilder. After Arrange->Size Objects
    or Arrange->Allign Objects the child object doesn't belong to
    paren frame. There is no such thing in Developer 2000. Can
    anybody help me how to work around it ? It's practically
    impossible to create complicated report.
    Thanks in advance.
    null

    I don't know is it's possible to just search and replace as part of the checkout. We do it the other way around. Each user uses his own directory but for jdev all development is done in /mnt_dev/...
    So you map the users development directory to /mnt_dev. this way the path information stays constant and you don't need change the environment.
    Timo

  • Animate video around a path

    I want to animate 5 video clips moving around a path.   I have one of the videos tracing
    a rounded rectangle, working fine.   Now I want to add the other 4 symetrically
    around the same path. I know how to cut/paste the path but for the life of me I
    can find no way to get them all equally spaced around the path following each
    other.
    Help?

    Well when you have your first video going thru the path, time it.
    If it takes 4 seconds to go from strat to finish, then you divide it by the number of videos. If you have 4 videos then, each video will be lagging 1 second behind the preivous one.
    Put your first video on the first layer, the second on the second layer, the third and fourth on the third and fourth layers.
    Now add an expression to the second layer position: thisComp.layer("First Video").transform.position.valueAtTime(time-(thisLayer.index+1));
    You can copy this expression to all your other video position property.
    Explanation of the expression:
    thisComp.layer("your main layer").transform.position << This is the current position of your first video layer.
    .valueAtTime(time) << this is where you specify, where in the time you want to take the position value. (time is in second)
    Hope that helps

  • How to retrieve 3 max values

    Hi ,
    can anyone let me know how to retrive the max 3 values from a table...
    I want to get the top 3 values of salary from emp table
    Thanks,
    Praveen

    Praveen,
    Consider the following example:
    SQL> set pagesize 9999
    SQL> select empno, ename, sal
      2  from scott.emp;
         EMPNO ENAME             SAL
          7369 SMITH             800
          7499 ALLEN            1600
          7521 WARD             1250
          7566 JONES            2975
          7654 MARTIN           1250
          7698 BLAKE            2850
          7782 CLARK            2450
          7788 SCOTT            3000
          7839 KING             5000
          7844 TURNER           1500
          7876 ADAMS            1100
          7900 JAMES             950
          7902 FORD             3000
          7934 MILLER           1300If you want to get the top three salaries, you can use this query
    SQL> select sal
      2  from
      3     (select distinct sal
      4       from scott.emp
      5     order by sal desc)
      6  where  rownum<=3;
           SAL
          5000
          3000
          2975If you want to see all the employees having any of top-3 salaries you can use the following one:
    SQL> select empno, ename, sal
      2  from
      3     (select empno, ename, sal, dense_rank() over (order by sal desc) dr
      4      from scott.emp
      5     )
      6  where dr<=3;
         EMPNO ENAME             SAL
          7839 KING             5000
          7788 SCOTT            3000
          7902 FORD             3000
          7566 JONES            2975If you want to get the first 3 employees with the highest salaries. You can use the following one.
    But, be aware, there might be more employees having $3000,00 salary.
    SQL>  select empno, ename, sal
      2  from
      3     (select empno, ename, sal
      4      from scott.emp
      5     order by sal desc)
      6* where rownum<=3
    SQL> /
         EMPNO ENAME             SAL
          7839 KING             5000
          7788 SCOTT            3000
          7902 FORD             3000
    SQL>

  • How to get the destination path in an photoshop sdk export plugin when using a batch action?

    Hello,
    I've written an exporter plugin (not save-as) that exports a given file to a custom format.
    I was able to open a file selector dialog and choose a path that is then transported to the saving location.
    Now my problem is: Another intended use is batch exporting many files. The user records an action with the export step and then applies a batch on it.
    The PS batch window allows you to select the destination to be a directory where the exporter should write the data. Fine.
    Now how do I get this path? When running in batch mode the silent flag is set for my plugin so I do not spawn a file selector dialog to annoy the user.
    But I am also unable to obtain the path which was selected by the user in the batch window.
    The SDK automation plugin Getter has some code to retrieve the path of the file and even that fails as it cannot obtain anything.
    PropertyUtils.h has some PIGetWorkPathIndex and PIGetPathName functions but I always get 0 when asking PIGetNumberPaths, and get -1 with PIGetWorkPathIndex.
    I would be thankful if somebody could hint me how I can retrieve directories.
    It even seems impossible for me to get the path where the file is actually saved. The filter plugin called Propertizer utilizes a function called PIGetDocumentName but this only outputs the file name, not the full path.
    (Just to be sure: The file on which the tests run is already saved to disk, if that matters)
    Another fun part is: When I record an export step, what is the directory I am exporting into?

    Ok, after lots of reading the sdk sample outbound I've realized that or plugin is broken.
    When recording an action the outbound plugin stores the current path to gAliasHandle which is then recorded as a scripting parameter. Now when I execute the action I get the alias handle.
    However how is this supposed to work with an export plugin and batch processing with a "destination" set to a target? Is this even possible or do I need to double click the export step in the action and "reset" the location even if that causes the entire exporter to run again?

  • How to get the file path in adf application

    hii all,
    i have a txt file that i am using in my adf application,
    i am passing this txt file through a File Reader, for which i have to mention the file path.
    The file is in web-content and when i am hard coding the complete file path i.e C:/JDeveloper/myApp/ViewController/public_html/log.txt
    the application is working fine when run on integrated weblogic server.
    My requirement is to access this file without giving the static file path, as in case i have to use this application on any other machine..
    for that how to mention the file path-
    i tried using FacesContext to get the context path :-
    FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath();
    which gives me
    \myApp-ViewController-context-root
    after appending public_html\log.txt
    I am using the following path to access the file :-
    \myApp-ViewController-context-root\public_html\log.txt
    again i am getting the java.io.FileNotFoundException
    Does anyone know how to use file from inside the web-content without giving the complete path..???
    Thanks

    Hi,
    If you put your file under public_html folder, you can use this code to access the file:
    For example file is : log.txt
    FacesContext.getCurrentInstance().getExternalContext().getRealPath('/log.txt').toString().trim();
    Thanks.
    - LSR

  • How to get the current path of my application in java ?

    how to get the current path of my application in java ?
    thanks

    To get the path where your application has been installed you have to do the following:
    have a class called "what_ever" in the folder.
    then you do a litte:
    String path=
    what_ever.class.getRessource("what_ever.class").toString()
    That get you a string like:
    file:/C:/Program Files/Cool_program/what_ever.class
    Then you process the result a little to remove anything you don't want:
    path=path.substring(path.indexOf('/')+1),path.lastIndexOf('/'))
    //Might be a little error here but you should find out //quickly if it's the case
    And here you go, you have a nice
    C:/Program Files/Cool_program
    which is the path to your application.
    Hooray

  • Can any one suggest me how can I use relative path inside SSIS pacakge to access config file ?

    Can any one suggest me how can I use relative path inside SSIS pacakge to access config file ? Please help me as its urgent.THanks for your help in advance.

    Hi Jay,
    SSIS can only recognize the absolute path of a XML Configuration file, the relative path is not supported. Furthermore, if the XML Configuration file is already generated, we can use the Environment variable package configuration type instead so that
    SSIS runtime automatically looks for the configuration file from the path defined in the environment variable. This is convenient when we need to deploy a package to different environment. We only need to define the environment variable for package configurations
    once on each server, and then the variable can be used by all the packages on this server.
    Regards,
    Mike Yin
    TechNet Community Support

  • How can I script moving paths from one file to another?

    Hello. I have 1 image with various color correction layers. The other is the exact same size but only contains paths. How can I script moving paths from one file to another? Thanks, in advance, for any help you can offer. Thanks!

    Thanks! This one actually worked for me. Thanks for your help.
    http://forums.adobe.com/message/3305389#3305389

  • How do I find the path (source) of a document in mavericks?

    how do I find the path (source) of a document in mavericks?

    See if you can find the file using this program
    EasyFind – Spotlight Replacement

  • How can i set a path for my deployment files in weblogic server 10.3

    Hi
    How can i set the path for my WAR ,JAR files while deploying.i am using the wls10.3 version.
    is there any scripts for this ,please provide me.
    my Application is ADF 11g application.

    By "path", I assume you mean "classpath".
    The simplest way is simply to include the jars you need inside the web application or web module's WEB-INF/lib directory, EJB module's META-INF/lib directory, or EAR lib directory.
    If that's not practical, if you use NodeManager to start your servers, you can go to the "Server Start" tab in the server definition in the WebLogic console and edit the "Classpath" field, which defaults to no value. You can specify a classpath value there. Note that if you specify a value there, it REPLACES the default classpath for the server, it doesn't add to it. If you need to just add to it (a much more likely scenario), if the value references the value "$CLASSPATH" in it, that will reference the original classpath value that the server would have had.
    So, for instance, if you wanted to include the MQ jars in the server classpath, you could set a value like this:
    /usr/java/mq/lib/mq.jar:/usr/java/mq/lib/mqstuff.jar:$CLASSPATH

  • How to write the folder path in standard webi report - Most Accessed Documents

    How to write the folder path in standard webi report - Most Accessed Documents
    All
       -> Public Folders
                      -> Auditor
                      -> ABCD
    I want to give path of folder 'ABCD' and all the reports/ subfolders under it?
    Prompt - 'Enter the Folder Path(Add % at the end to include Sub Folders)' ?
    Give me exact path syntax

    Hi Daniel,
    But when I give my URL as
    http://serverA:80/irj/portal??NavigationTarget=ROLES://portal_content/crm-practice/14-Feb/Test_Page
    I am able to access the iview but the thing is I am getting TLN,Toolarea,Masthead,etc.
    I will tell my requirement,
    ServerA (EP 7.0) has some iviews,pages...
    I need to access these iviews from serverB(EP 6.0)....
    In ServerB only the iviews has to be displayed in the content area but not TLN,Toolarea,etc.
    Kindly help me in this regard.
    Thanks and regards,
    Purushothaman.
    Message was edited by: Purushothaman Vyasarao

Maybe you are looking for

  • F110- not able to clear the debit and credit entry with the same reference

    Hi, I am not able to clear the debit and credit entry with the same reference in F110 even after having the payment terms as immediate payment, payment method is maintained in document no and vendor master data. Both debit and credit entry is appeari

  • Curve crashes after upgrade to OS 4.5.0.81

    Curve crashes after upgrade to OS 4.5.0.81  Ever since I upgraded to the T-Mobile handheld OS 4.5.0.81, my Curve crashes several times a day down to a black screen. I can't power back up on battery -- I have to plug in to an AC source, then power bac

  • Imac 2006 external dvd, imac 2006 external dvd

    HI My internal CD drive has just died and I would like to get an external CD drive to my IMac (2006) does anyone know which brand will be compatible? Thanks Bec

  • Trying to opn SAP Transaction IView from Webdynpro

    Hi Friends, I need to open a SAP Trancation Iview from Webdynpro (on click of some button) and pass some values to the screen fields, I am using the code below(which I found in many threads): WDPortalNavigation.navigateAbsolute("ROLES://<Iview ID exc

  • Change Published Replenishment Order

    Hi, I'm implementing SMI scenario with SAP SNC 5.1. I was traying to change a Published Replenishment Order, to do this i have: Created and published a Replenishment Order in SNC Web UI -> The Purchase Order is correctly created in customer Backend s