ProjectWise Storage Areas on NetAPP SANs

When it comes to creating files and folders, ProjectWise is bound by the file system the Storage Area is on. We have had reports from a few users with Storage Areas on NetAPP SANS that when they try to create a new folder it fails. In looking at the DMSKrnl.log there is an Error 13 which is a Windows error related to file system access.

We have learned that NetAPP SANs have a hard limit of 100,000 folders in a folder. We are told by a user that contacted NetAPP that this limit was imposed for performance reasons and cannot be changed.  Below are two links to NetAPP community posts about this limit.

As there is nothing Bentley can do to overcome this limitation if you are using a NetAPP SAN there are some changes you can make in your system to avoid this problem:

  • Create more storage areas; the limit is per folder so you can create more storage areas on the same volume to spread the load out. You can use as many different storage areas as make sense for your data.
  • Typically the Root Folders in your ProjectWise datasource are a really good place to break it into storage areas.
  • Limit folder nesting by using different Storage Areas for logical breaks within deeply nested folders. Folders in ProjectWise that only hold other folders for navigation purposes still create folders in the storage area, deeply nested folder structures will use up a lot of folder entries.
    • For example if you break up your root folders by project, each project could have its own storage area. This will make it easier to archive the data if you ever wish to do so. In this scenario you might then break the project up by disciplines or phases and give each of those their own storage areas. In a spatial DataSource you might break the storage areas into a grid according to coordinates.
  • You can limit deeply nested folders by using workflows and states to separate documents, if the folder structure is used to separate phases of work.
  • You can be able to limit nested folders by using attributes that will to allow you to have saved searches that filter out the data that would go into a nested folder.
    • For example a folder called Drawings has sub-folders for Model, Plot sheet and Reference. Assigning a Drawing Type attribute with a pick list of Model, Plot Sheet and Reference would let you quickly isolate those files within the folder.