Software Development Kit (SDK) and API Discussions

how to handle NaAPIFailedException : Unable to create iterator (errno=13001) Exception

KASIMBASHA1
12,284 Views

I observed below exception from NetApps API jar File : manageontap.jar while accessing volumes in Filer.

Can please state the reasons for NaAPIFailedException and below is the stacktrace

Exception StackTrace:

netapp.manage.NaAPIFailedException: Unable to create iterator (errno=13001)

at netapp.manage.NaServer.invokeElem(NaServer.java:653)

...........................

Similar issue is discussed in NetApp community Portal at below URL :https://communities.netapp.com/thread/16241

but not with sufficient information.

1 ACCEPTED SOLUTION

CHWOLDSEN
8,864 Views

I know this thread is a bit old,yet I'd like to share a possible solution:

connect to your filer c$\etc and look for a folder called .zapi - this folder is most likely full! Rename it to e.g. .zapi_ and then restart your web api session again. It will be recreated and you can work again!

I have sent this answer to another (older) thread as well - but maybe it's better off here

Hope this still helps!

Chris

View solution in original post

12 REPLIES 12

aashray
12,267 Views

Hi,

Could you check if your volume is full (or almost full) ?

The iterative APIs will create few intermediate files which needs some writable space in volume. And this is not possible when the root volume(/vol/vol0) is full. This could be a reason for the error 'NaAPIFailedException:Unable to create iterator'.

- Aashray Arora

KASIMBASHA1
12,267 Views

Hey AAshray,

Thanks for reply.

When got the issue for first time the volume size is 50GB and 100% full (50GB) in the filer. Later, i added 5 GB to the volume size then the volume size is 55GB and 90% used.

Still i got the same issue.

Can you please suggest any alternate.

aashray
12,270 Views

I'll try to find out soon. Can you please share with me your code that is failing and also can you let me know if other APIs are working fine?

Are you using 7-mode or C-mode?

KASIMBASHA1
12,270 Views

Hi Aashar,

Thanks for your reply.

The issue is at last line of our sample code. After 155 successful Iterations, The API invocation is failed

with following exception Stack Trace:

Exception Stack Trace

netapp.manage.NaAPIFailedException: Unable to create iterator (errno=13001)

at netapp.manage.NaServer.invokeElem(NaServer.java:653)

.........

Sample Code:

//We observed above exception from NetApps API jar File : manageontap.jar

  NaElement xi, xo, xii, xoo, xiii, xooo;

  String volName="xxxx"

  xi=new NaElement("snapshot-list-info");

  xi.addChildElem(new NaElement("terse", "true"));

  xi.addChildElem(new NaElement("volume", volName));

  xo=server.invokeElem(xi);

  List snapshots= xo.getChildByName("snapshots").getChildren();

  List snapshots= xo.getChildByName("snapshots").getChildren();

  for(Iterator k=snapshots.iterator(); k.hasNext();){

   NaElement snapshot=(NaElement) k.next();

   String snapshotName=snapshot.getChildContent("name");

   String dirpath="/vol/"+volName+"/.snapshot/"+snapshotName;

   xii=new NaElement("file-list-directory-iter-start");

   xii.addChildElem(new NaElement("path", dirpath));

      xoo=server.invokeElem(xii);

   ......

I am not sure about which mode is using whether 7-mode or C-mode we are using 7-Mode and Can you please explain how this mode related to this issue ?


KASIMBASHA1
12,270 Views

Can any one help me and please state the reasons for NaAPIFailedException

sens
12,270 Views

Hi,

If you are looking for how to handle the NaAPIFailedException and get the reason of the failure, please see the snippet below:

...

...

...

xii=new NaElement("file-list-directory-iter-start");

xii.addChildElem(new NaElement("path", dirpath));

try {

} catch (NaAPIFailedException e) {

     String message ="results status=\"failed\" reason=\""

+ e.getReason() + "\" errno=\"" + e.getErrno() + "\"";

System.out.println("Exception Occured:\n" + message);

}

However, if you are looking for the root cause of the failure, then it will require a little more investigation.

Can you kindly let us know which Data ONTAP version and NetApp Manageability SDK (formerly known as ManageONTAP SDK) you are using?

On what platform are you running your client (this program)? Is this issue reproducible using "apitest" and "ZExplore Development Interface (ZEDI)"?

Regards,

Sen.

KASIMBASHA1
12,270 Views

Hi Sens,

Thanks for your reply.

I am for looking for the root cause of the failure and below are required details

ONTAP              : NetApp Release 8.1.1 7-Mode

Mode      :7-Mode

OS         : Windows Server 2008

ManageONTAP  : manage-ontap-sdk-3.0R1

APITEST/ZEDI    : Not tested

We have implemented java program to communicate with NetApps using manageontap.jar File.

With Regards,

kasim Basha

KASIMBASHA1
12,270 Views

Sen,

any update for me

KASIMBASHA1
12,270 Views

Can any one help me and please state root cause for NaAPIFailedException: NaAPIFailedException: Unable to create iterator (errno=13001),details are mentioned in the issue description.

CHWOLDSEN
8,865 Views

I know this thread is a bit old,yet I'd like to share a possible solution:

connect to your filer c$\etc and look for a folder called .zapi - this folder is most likely full! Rename it to e.g. .zapi_ and then restart your web api session again. It will be recreated and you can work again!

I have sent this answer to another (older) thread as well - but maybe it's better off here

Hope this still helps!

Chris

pauli
7,442 Views

We got the error (750040) while running 7MTT chain of custody. rerun was always showing us this error again.

 

In the EMS log the error unable to create iterator and/or too many iterator files".

 

We renamed the /etc/.zapi direcory on the 7-Mode filers root Volume.

than we could rerun the "chain of custody" collect in 7MTT again.

 

Thanks for the tip.

 

unfortunately it failed again afterwards...

francoisbnc
7,292 Views

Just to bring a small precision.

On my side I got these unexpected number of files in .zapi folder when used couple

file-list-directory-iter-start, file-list-directory-iter-next without implementing file-list-directory-iter-end element.

Public