Error when trying to import a very large analysis containing bookmarks "The 'contentZip' argument must not be null."

Error when trying to import a very large analysis containing bookmarks "The 'contentZip' argument must not be null."

book

Article ID: KB0083211

calendar_today

Updated On:

Products Versions
Spotfire Server All versions

Description

When moving analyses using the export and import feature, from one environment to another, you may get the following error when trying to overwrite versions of the analyses if they take longer than 5 minutes to import:

xx.xxx.xxx.xxx  user@domain [2017-06-09T06:33:22,449+0100] "jobid:4dc87792-5899-478e-bb83-96d06260f916, Problem importing"
java.lang.IllegalArgumentException: The 'contentZip' argument must not be null.
                at com.spotfire.util.Robustness.validateArgumentNotNull(Robustness.java:44)
                at com.spotfire.ws.library.BookmarkManager.update(BookmarkManager.java:643)
                at com.spotfire.ws.library.ImportManager.reAddDeletedBookmarks(ImportManager.java:745)
                at com.spotfire.ws.library.ImportManager.insertIntoLibrary(ImportManager.java:669)
                at com.spotfire.ws.library.ImportManager.insertIntoLibrary(ImportManager.java:664)
                at com.spotfire.ws.library.ImportManager.insertIntoLibrary(ImportManager.java:664)
                at com.spotfire.ws.library.ImportManager.importFile(ImportManager.java:315)
                at com.spotfire.ws.library.LibraryManagerImpl$ImportThread.run(LibraryManagerImpl.java:2220)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at java.lang.Thread.run(Thread.java:745)

Issue/Introduction

Exporting an importing analyses between environments is something that is usual when updating and maintaining them, but sometimes when trying to do this on certain larger analyses you might get an error stating that "The 'contentZip' argument must not be null."

Resolution

When importing an analysis that overwrites an existing analysis containing bookmarks, the software tries to migrate the bookmarks to the new analysis. During this process, the bookmarks are stored as an attachment. This attachment has a default timeout of 5 minutes. If the import of the analysis takes longer than that, the bookmark attachment will time out and you end up getting the error that you can see in the details section of this article.

To resolve this issue, you need to increase the timeout.

To do this:

1). Open the TIBCO Spotfire Configuration Tool.
2). Export active configuration as an XML file on disk.
3). Open in notepad or notepad++, and find the following section:

<attachment>
    <memory-limit>104857600</memory-limit>
    <lease-time>300</lease-time>

4). Increase it to for example:

<attachment>
    <memory-limit>104857600</memory-limit>
    <lease-time>3600</lease-time>

5). Save the file.
6). Now using the TIBCO Spotfire Configuration Tool again, load the configuration from the file and save the configuration to the database.
7). After this is done, restart the TIBCO Spotfire Server to make the new settings take effect.

You should now be able to import your analysis, and overwrite the old version, without getting the above error.