01-28-2019 09:42 AM
I am attempting to write to an SMB path that includes a plus symbol and no matter how I attempt to alter the path it fails to write the file.
‘smb://xxx.xxx.xxx.xxx:xxxxx/dir1/dir_2/dir_3/dir_4/A+A/dir_5/filename.csv’
I have attempted to put %2B instead of the + symbol, a parameter that is only +, a parameter that was A+A, using double quotes around the entire path with ‘%2B’ instead of +, using double quotes around the entire path with ‘+’ instead of just +, using \+
, using \%2B
, and a bunch of other variations.
What is the correct syntax and why is this not in the documentation anywhere?
01-28-2019 01:32 PM
For anyone that is paying attention, trying to use an escape character prior to the + symbol does not work either like the \+
or '\+'
. It appears that this is broken.
01-29-2019 09:29 AM
If your path is static, then what @dmiller suggested should work. Would you mind sharing what the result is when you tried that? Is there an error message or is the file being written to the incorrect location?
01-29-2019 09:44 AM
As i previously stated in the prior post it is not working at all even hard coding the path and undoing the expression toggle. Please see the error message below.
Failed to write to smb://xxx.xxx.xxx.xxx:xxxxxx/dir1/dir_2/dir_3/dir_4/A+A/dir_5/filename.csv
Resolution:
Check for URL syntax and file access permission
Reason:
Possible reasons can be failure in URL connection or file access denial, detail: The system cannot find the path specified.
Hide Details…
SD Writer[9b0f59f0-c42c-4e1d-81b0-feae2b322a67 – 2a78e505-d90c-47a7-b30c-7ac7c5d75d38]
com.snaplogic.snap.api.SnapDataException: Failed to write to smb://xxx.xxx.xxx.xxx:xxxxxx/dir1/dir_2/dir_3/dir_4/A+A/dir_5/filename.csv
at com.snaplogic.snaps.binary.AbstractWriter.throwExceptionCantWrite(AbstractWriter.java:551)
at com.snaplogic.snaps.binary.AbstractWriter.writeData(AbstractWriter.java:462)
at com.snaplogic.snaps.binary.AbstractWriter.process(AbstractWriter.java:318)
at com.snaplogic.snaps.binary.AbstractWriter.doWork(AbstractWriter.java:277)
at com.snaplogic.snap.api.SimpleBinarySnap.execute(SimpleBinarySnap.java:57)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.executeSnap(SnapRunnableImpl.java:772)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.execute(SnapRunnableImpl.java:518)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:838)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.access$000(SnapRunnableImpl.java:114)
at com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:361)
at com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:357)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:356)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:114)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: jcifs.smb.SmbException: The system cannot find the path specified.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
at jcifs.smb.SmbTransport.send(SmbTransport.java:663)
at jcifs.smb.SmbSession.send(SmbSession.java:238)
at jcifs.smb.SmbTree.send(SmbTree.java:119)
at jcifs.smb.SmbFile.send(SmbFile.java:775)
at jcifs.smb.SmbFile.open0(SmbFile.java:989)
at jcifs.smb.SmbFile.open(SmbFile.java:1006)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:142)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:97)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:82)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:54)
at com.snaplogic.snap.api.fs.smb.SmbUrlConnection.getOutputStream(SmbUrlConnection.java:62)
at com.snaplogic.snaps.binary.AbstractWriter.initOutputStream(AbstractWriter.java:687)
at com.snaplogic.snaps.binary.AbstractWriter.writeData(AbstractWriter.java:426)
… 20 more
Error Fingerprint[0] = efp:com.snaplogic.snaps.binary.-lWIUNSy
Error Fingerprint[1] = efp:jcifs.smb.3K8snBx2
SD Writer[9b0f59f0-c42c-4e1d-81b0-feae2b322a67 – 2a78e505-d90c-47a7-b30c-7ac7c5d75d38]
java.lang.Throwable
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source)
at java.util.concurrent.Semaphore.acquire(Unknown Source)
at com.snaplogic.cc.snap.view.binary.SpillablePipe$SourceChannel.read(SpillablePipe.java:596)
at com.snaplogic.cc.snap.common.ViewImpl$CountingChannel.read(ViewImpl.java:653)
at sun.nio.ch.ChannelInputStream.read(Unknown Source)
at sun.nio.ch.ChannelInputStream.read(Unknown Source)
at sun.nio.ch.ChannelInputStream.read(Unknown Source)
at java.io.InputStream.read(Unknown Source)
at com.snaplogic.snaps.binary.AbstractWriter.consume(AbstractWriter.java:739)
at com.snaplogic.snaps.binary.AbstractWriter.writeData(AbstractWriter.java:466)
at com.snaplogic.snaps.binary.AbstractWriter.process(AbstractWriter.java:318)
at com.snaplogic.snaps.binary.AbstractWriter.doWork(AbstractWriter.java:277)
at com.snaplogic.snap.api.SimpleBinarySnap.execute(SimpleBinarySnap.java:57)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.executeSnap(SnapRunnableImpl.java:772)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.execute(SnapRunnableImpl.java:518)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:838)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.access$000(SnapRunnableImpl.java:114)
at com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:361)
at com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:357)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:356)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:114)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Error Fingerprint[0] = efp:sun.misc.cX2oMOaw
01-29-2019 09:51 AM
Thanks for sharing the error. I can file a bug report with this information.
Can you confirm that you are able to write to other paths without the A+A
directory? I’d like to isolate the problem to that in particular.
Sorry about the inconvenience and hopefully the issue can be resolved promptly.
01-29-2019 09:57 AM
@tlikarish, it is typical of the responses i get on this board. I have several outstanding issues on these boards, that I got tired of asking the same question in different ways only for snaplogic employees to ask if i took a step that was in the chain three responses prior.
(For example your Excel snaps didn’t work correctly previously. With out responding to my chain that it was being worked on or that it was fixed in an update, I had to find out for myself that my issue that I brought up to you all, on this board, was fixed.)
Yes, it works fine if I take the plus out.