ICAP data trickling is not working with ICAP server which returns the data to proxy along with 200 OK ICAP response
This is known limitation of ICAP Data Trickling. Data Trickling is the process in which the Proxy will start to give the data to the client as soon as it starts to get data from the OCS. The speed at which the data is given to client will depend on the "Trickling-at-End" or "Trickling-at-Start". This data transfer is done in parallel to sending data to the ICAP server for scanning. Based on the ICAP response, the file will be completely given to the client or connection will be reset.
Certain ICAP servers don't support the option of giving back the ICAP response alone. Such devices will respond back with ICAP 200 OK and the data also will be given back to proxy. This creates a problem when Data Trickling is enabled. When the ICAP server returns the data also, it is considered as ICAP modified hence the old data shared to client (via Trickling) is not valid anymore. This makes the proxy to reset the data sending to client hence the download failure.
Make configuration changes on the ICAP server to give back the ICAP scan response without data. This will make the proxy to decide whether to continue the Trickled data or reset it. If this option is not available with the ICAP server, Trickling option need to be disabled at Proxy side.