I have flume configuration with rabbitmq source, file channel and solr sink. Sometimes sink becomes so busy and file channel is filling up. At that time ChannelFullException is being thrown by file channel. After 500 number of ChannelFullException are thrown flume stuck and never responds and recover itself. I want to learn that, where does 500 value come from? How can I change it? 500 is strict because when flume stucks, I count exceptions and I find 500 number of ChannelFullException log line everytime.
Apache Flume stuck after ChannelFullException is occured 500 times
102 Views Asked by Gürcan Kavakçı At
1
There are 1 best solutions below
Related Questions in RABBITMQ
- When sending message getting Exception: org.springframework.amqp.AmqpIOException: java.io.IOException
- How to publish messages to RabbitMQ by using Multi threading?
- How should it be handled if the number of messages is less than the number of threads?
- Apply a dynamic group value in Spring Cloud Stream
- Two rabbitmq queues with exactly same configuration one of them is not created automatically (Spring Boot 3 RabbitMQ)
- Does Spring AMQP 3.13 support quorum queues?
- IServiceCollectionConfigurator' does not contain a definition for 'UsingRabbitMq'
- Troubleshooting topic exchanges in php-amqplib
- How to Use AWS Systems Manager (SSM) for Accessing a RabbitMQ Broker in an AWS VPC Private Subnet
- Rabbitmq on azure container app error 405 on trying to create queue on web management
- Cannot connect to RabbitMQ from Flower/Celery
- How to Extract Queue Name, Priority, and Message ID from RabbitMQ Inbound Endpoint Messages in WSO2 MI 4.2?
- Spring Boot RabbitMQ consumer application can not fetch an object sent by producer application in Java 17
- Is it possible to implement an event-driven architecture using Redis Streams?
- Scaling Nuclio With KEDA Based on Queue Length: Error ScaledObject Name is Not Specified
Related Questions in FLUME
- API data to hadoop via Flume
- Does anyone know how to read gzip file(gzip in thr spoolSourceDirectory) in Flume process?
- Apache flume Regex Extractor Interceptor
- How to insert JSON in HDFS using Flume correctly
- Save flume output to hive table with Hive Sink
- error in streaming twitter data to Hadoop using flume
- Exception follows. org.apache.flume.FlumeException: Unable to load source type in flume twitter analysis
- log4j2 logger levels not working
- Why does an optional flume channel cause a non-optional flume channel to have problems?
- Collect logs from Mesos Cluster
- Flume interceptor to ignore input CSV file header while reading
- Use Flume to stream a webpage data to HDFS
- Flume interceptor for kafka message timestamp?
- Why does Apache Flume regex extractor accept only "1 digit" ?
- How to resolve unhandled error in Flume while extracting Tweets
Related Questions in FILECHANNEL
- FIleChannel, ByteBuffer why is postion 0 after read?
- FileChannel.tryLock works locally but hangs on remote machine, accessed via SSH
- FileChannel Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- Java - MP4 files appear corrupt after split
- FileChannel not writing special characters properly
- Apache Flume stuck after ChannelFullException is occured 500 times
- Using FileChannel to write in the middle of binary files
- Java FileChannel keeps locking file
- FileChannel.open(path, CREATE|CREATE_NEW) without WRITE option throws NoSuchFileException
- Why BufferedWriter is not writing into the file over the opened FileChannel?
- BufferUnderflowException while trying to read an Int from a binary file in Java
- Multithread AES encryption in Java
- Is there a way to add some text in between a file without overwriting any existing content of the file using FileChannel
- Writing an InputStream with ReadableByteChannel and TransferFrom()
- Java: READ and WRITE are "ambiguous" when using FileChannel with ByteChannel?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You are walking into a typical producer-consumer problem, where one is working faster than the other. In your case, there are two possibilities (or a combination of both):
The solution is to send messages more slowly (i.e. throttle RabbitMQ) or tweak Flume so that it can process messages faster. I think the last thing is what you want. Furthermore, the unresponsiveness of Flume is probably caused by the java heap size being full. Increase the heap size and try again until the error disappears.
Additionally, you can also increase the number of agents, channels, or the capacity of those channels. This would naturally cause a higher footprint on the java heap size, so try that first.
I don't know where the exact number 500 comes from, a wild guess would be that when there are 500 exceptions thrown the java heap size is full and Flume does not respond.
Another possibility is that the default configuration above causes it to be exactly 500. So try tweaking it so if it ends up being different or better, that it does not occur anymore.