import proxy bundle causes internal error

Not applicable

I have on-prem installation of apigee edge.

When I use the UI to import a proxy bundle from a zip file, I get an "Error uploading proxy: Internal Error."

I've checked the logs and found that this line:

2017-08-11 12:58:02,139 [ERROR] from play.core.server.netty.PlayDefaultUpstreamHandler in application-akka.actor.default-dispatcher-12580 - Cannot invoke the action java.nio.file.NoSuchFileException: /tmp/playtemp2693909398424399885/multipartBody6072531890544826700asTemporaryFile at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) ~[na:1.8.0_131] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_131]

[...more stacktrace...]

Further, when i check to see if anything was uploaded to the /tmp dir, i do not see anything there for this request.

I did check dir perms by switching to apigee user and creating the sub-dirs and the file, so, it does not appear to be a file perms issue.

What else can I do to troubleshoot this? Could this be a netty file upload issue?

2 9 2,577
9 REPLIES 9

Not applicable

I've done some further testing. To reproduce:

1. create an API Proxy

2. Project -> Download revision

3. Project -> Delete API Proxy

4. +API Proxy -> Proxy Bundle

5. choose the downloaded proxy file

6. Build -> this causes "Internal Error"

Further investigation revealed that this worked on my other apigee environment, so, this is localized to my environment.

Hi @David Hisel how long did you wait in between these steps above ? Might need to do some tuning the RMP's as the delete would need to replicate across so curious has to the timing. Thanks

Not applicable

Hi @David Hisel Can you reach out to our support team? We're happy to look into this further

I'm waiting to get my email to get associated to our corp account.

Not applicable

after troubleshooting some more...I restarted the edge-ui and i am able to upload proxy bundles.

Not sure what caused the upload to fail, though...my guess is that the edge-ui process was holding on to some bad file-handles which were cleared once i restarted it.

I got this error today, this seems related to:

https://github.com/playframework/playframework/issues/5936

Edge-ui is using the play framework, and on startup it creates a directory in /tmp to store uploads. If your server cleans up the /tmp directory while the UI is still running, the next time you try any kind of upload (ie: an import proxy request) it will fail. Seems like the fix was merged into Play 2.5 but I think edge-ui is still using like 2.4.8.

David, did you find any other resolution to this from the apigee team? Obviously restarting the ui or manually recreating the exact tmp folder is not a great solution.

Unfortunately, this issue is still present in edge-ui provided  with Apigee 4.51.0.

I was not aware of this problem; I’ll get a ticket filed.  I apologize for the inconvenience.

EDIT: internal reference: b/200172690

Any update?
We were able to drill down that it's only observed in Classic Edge UI, but not in New Edge UI.

As 200172690 is not mentioned in release notes of any patch, I did not upgrade our 51 node installation to the latest patch, wasting a whole expensive engineering day due to mirroring, JFrog import of 2.5 GB (as our Apigee servers do not have internet access, and globally distributed nodes are vertically separated by firewalls) and installation order on all nodes.

Versions:

edge-management-server-4.51.00-0.0.60142
edge-ui-4.51.00-0.0.20199