0 votes

My job as failed (simply dataset build) with the following error - "An invalid argument has been encountered : URLDecoder: Incomplete trailing escape (%) pattern"

Log seems fine until the following:

11:27:47] [INFO] [dku.datasets.sql] - Read 66000 records from DB
[11:27:47] [INFO] [dku.datasets.sql] - Read 68000 records from DB
[11:27:48] [INFO] [dku.datasets.sql] - Read 70000 records from DB
[11:27:48] [WARN] [dku.datasets.sql] - Streaming results failed
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
	at java.net.URLDecoder.decode(URLDecoder.java:187)
	at com.dataiku.dip.shaker.processors.transform.StringTransformation$4.transform(StringTransformation.java:35)
	at com.dataiku.dip.shaker.processors.transform.StringTransformer.processRowForColumns(StringTransformer.java:106)
	at com.dataiku.dip.shaker.processors.AppliesToProcessor.processRow(AppliesToProcessor.java:105)
	at com.dataiku.dip.datalayer.SRPAdapter.processRow(SRPAdapter.java:25)
	at com.dataiku.dip.recipes.shaker.ShakerRecipeRunner$SplitRunner$MainInputHandler.processRow(ShakerRecipeRunner.java:138)
	at com.dataiku.dip.datalayer.ProcessorOutputToSIP.emitRow(ProcessorOutputToSIP.java:24)
	at com.dataiku.dip.datasets.sql.AbstractSQLDatasetHandler.executePush(AbstractSQLDatasetHandler.java:324)
	at com.dataiku.dip.datasets.sql.AbstractSQLQueryDatasetHandler$QueryBasedSplit.push(AbstractSQLQueryDatasetHandler.java:107)
	at com.dataiku.dip.dataflow.exec.stream.RowStreamSplitRunnable.run(RowStreamSplitRunnable.java:67)
	at com.dataiku.dip.dataflow.jobrunner.ActivityRunner$FlowRunnableThread.run(ActivityRunner.java:352)
[11:58:57] [DEBUG] [dku.connections.sql.provider] - Rollback conn=STP
[11:58:57] [INFO] [dku.dataset.sql] - Closing com.dataiku.dip.connections.SQLConnectionProvider$SQLConnectionWr[email protected]
[11:58:57] [DEBUG] [dku.connections.sql.provider] - Close conn=STP
[11:58:57] [INFO] [dku.dataset.sql] - Conn com.dataiku.dip.connections.SQLConnectionProvider$SQLConnectionWr[email protected] is now true
[11:58:57] [INFO] [dku.flow.activity] - Run thread failed for activity compute_reveiw2_A_NP
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
	at java.net.URLDecoder.decode(URLDecoder.java:187)
	at com.dataiku.dip.shaker.processors.transform.StringTransformation$4.transform(StringTransformation.java:35)
	at com.dataiku.dip.shaker.processors.transform.StringTransformer.processRowForColumns(StringTransformer.java:106)
	at com.dataiku.dip.shaker.processors.AppliesToProcessor.processRow(AppliesToProcessor.java:105)
	at com.dataiku.dip.datalayer.SRPAdapter.processRow(SRPAdapter.java:25)
	at com.dataiku.dip.recipes.shaker.ShakerRecipeRunner$SplitRunner$MainInputHandler.processRow(ShakerRecipeRunner.java:138)
	at com.dataiku.dip.datalayer.ProcessorOutputToSIP.emitRow(ProcessorOutputToSIP.java:24)
	at com.dataiku.dip.datasets.sql.AbstractSQLDatasetHandler.executePush(AbstractSQLDatasetHandler.java:324)
	at com.dataiku.dip.datasets.sql.AbstractSQLQueryDatasetHandler$QueryBasedSplit.push(AbstractSQLQueryDatasetHandler.java:107)
	at com.dataiku.dip.dataflow.exec.stream.RowStreamSplitRunnable.run(RowStreamSplitRunnable.java:67)
	at com.dataiku.dip.dataflow.jobrunner.ActivityRunner$FlowRunnableThread.run(ActivityRunner.java:352)
[11:58:57] [INFO] [dku.flow.activity] running compute_reveiw2_A_NP - activity is finished
[11:58:57] [ERROR] [dku.flow.activity] running compute_reveiw2_A_NP - Activity failed
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
	at java.net.URLDecoder.decode(URLDecoder.java:187)
	at com.dataiku.dip.shaker.processors.transform.StringTransformation$4.transform(StringTransformation.java:35)
	at com.dataiku.dip.shaker.processors.transform.StringTransformer.processRowForColumns(StringTransformer.java:106)
	at com.dataiku.dip.shaker.processors.AppliesToProcessor.processRow(AppliesToProcessor.java:105)
	at com.dataiku.dip.datalayer.SRPAdapter.processRow(SRPAdapter.java:25)
	at com.dataiku.dip.recipes.shaker.ShakerRecipeRunner$SplitRunner$MainInputHandler.processRow(ShakerRecipeRunner.java:138)
	at com.dataiku.dip.datalayer.ProcessorOutputToSIP.emitRow(ProcessorOutputToSIP.java:24)
	at com.dataiku.dip.datasets.sql.AbstractSQLDatasetHandler.executePush(AbstractSQLDatasetHandler.java:324)
	at com.dataiku.dip.datasets.sql.AbstractSQLQueryDatasetHandler$QueryBasedSplit.push(AbstractSQLQueryDatasetHandler.java:107)
	at com.dataiku.dip.dataflow.exec.stream.RowStreamSplitRunnable.run(RowStreamSplitRunnable.java:67)
	at com.dataiku.dip.dataflow.jobrunner.ActivityRunner$FlowRunnableThread.run(ActivityRunner.java:352)
[11:58:57] [INFO] [dku.flow.activity] running compute_reveiw2_A_NP - Executing default post-activity lifecycle hook
[11:58:57] [INFO] [dku.flow.activity] running compute_reveiw2_A_NP - Removing samples for REVIEW_TEXT_TEST.reveiw2_A
[11:58:57] [INFO] [dku.flow.activity] running compute_reveiw2_A_NP - Done post-activity tasks
asked by anonymous
reshown by

1 Answer

0 votes
Hi,

It is not a bug. You are decoding an URL column which has a cell with a wrong encoded character. It seems that there is a %-sign which not followed by two hexadecimal digits (which is not possible for a encoded URL)

Kenji
answered by
528 questions
547 answers
387 comments
309 users