Not sure,  but it seems this
https://issues.apache.org/jira/browse/FLINK-10203 may be a connected issue.

On Fri, Feb 15, 2019 at 11:57 AM Vishal Santoshi <vishal.santo...@gmail.com>
wrote:

> That log does not appear. It looks like we have egg and chicken issue.
>
> 2019-02-15 16:49:15,045 DEBUG org.apache.hadoop.hdfs.DFSClient
>                   - Connecting to datanode 10.246.221.10:50010
>
> 2019-02-15 16:49:15,045 DEBUG
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient  -
> SASL client skipping handshake in unsecured configuration for
>
> addr = /10.246.221.10, datanodeId = DatanodeInfoWithStorage[
> 10.246.221.10:50010,DS-c57a7667-f697-4f03-9fb1-532c5b82a9e8,DISK]
>
> 2019-02-15 16:49:15,072 DEBUG
> org.apache.flink.runtime.fs.hdfs.HadoopFsFactory              -
> Instantiating for file system scheme hdfs Hadoop File System
> org.apache.hadoop.hdfs.DistributedFileSystem
>
> 2019-02-15 16:49:15,072 DEBUG org.apache.hadoop.hdfs.BlockReaderLocal
>                   - dfs.client.use.legacy.blockreader.local = false
>
> 2019-02-15 16:49:15,072 DEBUG org.apache.hadoop.hdfs.BlockReaderLocal
>                   - dfs.client.read.shortcircuit = false
>
> 2019-02-15 16:49:15,072 DEBUG org.apache.hadoop.hdfs.BlockReaderLocal
>                   - dfs.client.domain.socket.data.traffic = false
>
> 2019-02-15 16:49:15,072 DEBUG org.apache.hadoop.hdfs.BlockReaderLocal
>                   - dfs.domain.socket.path =
>
> 2019-02-15 16:49:15,076 DEBUG org.apache.hadoop.io.retry.RetryUtils
>                   - multipleLinearRandomRetry = null
>
> 2019-02-15 16:49:15,076 DEBUG org.apache.hadoop.ipc.Client
>                   - getting client out of cache:
> org.apache.hadoop.ipc.Client@31920ade
>
> 2019-02-15 16:49:15,076 DEBUG
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil  -
> DataTransferProtocol not using SaslPropertiesResolver, no QOP found in
> configuration for dfs.data.transfer.protection
>
> 2019-02-15 16:49:15,080 INFO
> org.apache.flink.streaming.api.functions.sink.filesystem.Buckets  -
> Subtask 3 initializing its state (max part counter=58).
>
> 2019-02-15 16:49:15,081 DEBUG
> org.apache.flink.streaming.api.functions.sink.filesystem.Buckets  -
> Subtask 3 restoring: BucketState for
> bucketId=ls_kraken_events/dt=2019-02-14/evt=ad_fill and
> bucketPath=hdfs://nn-crunchy:8020/tmp/kafka-to-hdfs/ls_kraken_events/dt=2019-02-14/evt=ad_fill,
> has open part file created @ 1550247946437
>
> 2019-02-15 16:49:15,085 DEBUG org.apache.hadoop.ipc.Client
>                   - IPC Client (1270836494) connection to
> nn-crunchy.bf2.tumblr.net/10.246.199.154:8020 from root sending #56
>
> 2019-02-15 16:49:15,188 DEBUG org.apache.hadoop.ipc.Client
>                   - IPC Client (1270836494) connection to
> nn-crunchy.bf2.tumblr.net/10.246.199.154:8020 from root got value #56
>
> 2019-02-15 16:49:15,196 INFO  org.apache.flink.runtime.taskmanager.Task
>                   - Source: Custom Source -> (Sink: Unnamed, Process ->
> Timestamps/Watermarks) (4/4) (f73403ac4763c99e6a244cba3797f7e9) switched
> from RUNNING to FAILED.
>
> java.io.IOException: Missing data in tmp file:
> hdfs://nn-crunchy:8020/tmp/kafka-to-hdfs/ls_kraken_events/dt=2019-02-14/evt=ad_fill/
> .part-3-32.inprogress.da2a75d1-0c83-47bc-9c83-950360c55c86
>
>         at
> org.apache.flink.runtime.fs.hdfs.HadoopRecoverableFsDataOutputStream.<init>(HadoopRecoverableFsDataOutputStream.java:93)
>
>
>
>
>
>
> I do see
>
>
> 2019-02-15 16:47:33,582 INFO  
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner
>       -  Current Hadoop/Kerberos user: root
>
> 2019-02-15 16:47:33,582 INFO  
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner
>       -  JVM: OpenJDK 64-Bit Server VM - Oracle Corporation -
> 1.8/25.181-b13
>
> 2019-02-15 16:47:33,582 INFO  
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner
>       -  Maximum heap size: 1204 MiBytes
>
> 2019-02-15 16:47:33,582 INFO  
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner
>       -  JAVA_HOME: /docker-java-home
>
> 2019-02-15 16:47:33,585 INFO  
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner
>       -  Hadoop version: 2.7.5
>
>
>
> which has to be expected given that we are running the hadoop27flink 1.7.1
> version.
>
>
>
> Does it make sense to go with a hadoop less version and inject the
> required jar files ?  Has that been done by anyone ?
>
>
>
>
>
>
> On Fri, Feb 15, 2019 at 2:33 AM Yun Tang <myas...@live.com> wrote:
>
>> Hi
>>
>> When 'RollingSink' try to initialize state, it would first check current
>> file system supported truncate method. If file system not supported, it
>> would use another work-around solution, which means you should not meet the
>> problem. Otherwise 'RollingSink' thought and found the reflection method of
>> 'truncate' while the file system actually not support. You could try to
>> open DEBUG level to see whether log below could  be printed:
>> Truncate not found. Will write a file with suffix '.valid-length' and
>> prefix '_' to specify how many bytes in a bucket are valid.
>>
>> However, from your second email, the more serious problem should be using
>> 'Buckets' with Hadoop-2.6. From what I know the `RecoverableWriter` within
>> 'Buckets' can only support Hadoop-2.7+ , I'm not sure whether existed work
>> around solution.
>>
>> Best
>> Yun Tang
>> ------------------------------
>> *From:* Vishal Santoshi <vishal.santo...@gmail.com>
>> *Sent:* Friday, February 15, 2019 3:43
>> *To:* user
>> *Subject:* Re: StandAlone job on k8s fails with "Unknown method
>> truncate" on restore
>>
>> And yes  cannot work with RollingFleSink for hadoop 2.6 release of 1.7.1
>> b'coz of this.
>>
>> java.lang.UnsupportedOperationException: Recoverable writers on Hadoop are 
>> only supported for HDFS and for Hadoop version 2.7 or newer
>>      at 
>> org.apache.flink.runtime.fs.hdfs.HadoopRecoverableWriter.<init>(HadoopRecoverableWriter.java:57)
>>      at 
>> org.apache.flink.runtime.fs.hdfs.HadoopFileSystem.createRecoverableWriter(HadoopFileSystem.java:202)
>>      at 
>> org.apache.flink.core.fs.SafetyNetWrapperFileSystem.createRecoverableWriter(SafetyNetWrapperFileSystem.java:69)
>>      at 
>> org.apache.flink.streaming.api.functions.sink.filesystem.Buckets.<init>(Buckets.java:112)
>>
>>
>> Any work around ?
>>
>>
>> On Thu, Feb 14, 2019 at 1:42 PM Vishal Santoshi <
>> vishal.santo...@gmail.com> wrote:
>>
>> The job uses a RolllingFileSink to push data to hdfs. Run an HA
>> standalone cluster on k8s,
>>
>> * get the job running
>> * kill the pod.
>>
>> The k8s deployment relaunches the pod but fails with
>>
>> java.io.IOException: Missing data in tmp file:
>> hdfs://nn-crunchy:8020/tmp/kafka-to-hdfs/ls_kraken_events/dt=2019-02-14/evt=ad_fill/.part-2-16.inprogress.449e8668-e886-4f89-b5f6-45ac68e25987
>>
>>
>> Unknown method truncate called on
>> org.apache.hadoop.hdfs.protocol.ClientProtocol protocol.
>>
>>
>> The file does exist. We work with hadoop 2.6 , which does no have
>> truncate. The previous version would see that "truncate" was not supported
>> and drop a length file for the ,inprogress file and rename it to a valid
>> part file.
>>
>>
>>
>> Is this a known issue ?
>>
>>
>> Regards.
>>
>>
>>
>>
>>

Reply via email to