Skip to content

Enabling FileSystemWatcher without AutoUpdate #473

@ollyburns

Description

@ollyburns

Hi,

I run quite a large estate of containers. Following your documentation, I have an offline process to download the hash file, so we don't overload the download service. I have the following pipeline configuration in place which, I think / hope, watches the file system for changes and updates the copied and in memory file when the shared file is updated.

I have two questions:

  1. Is the CreateTempDataCopy necessary given the file is all loaded into memory when MaxPerformance is selected? The reason I ask this is that I also use the same technique for IP Location data and the file is massive, so I see big iops spikes while the file is being copied.
  2. This config generates regular errors in the logs like this: HTTP status code '400' from data update service at 'https://distributor.51degrees.com/api/v2/download?LicenseKeys=&Download=True&Type=HashV41', and I was wondering whether there is a way of supressing this auto fetch via config?
<?xml version="1.0" encoding="utf-8" ?>
<PipelineOptions>
    <Elements>
        <Element>
            <BuildParameters>
                <DataFile>/mnt/data/Enterprise-HashV41.hash</DataFile>
                <PerformanceProfile>MaxPerformance</PerformanceProfile>
                <CreateTempDataCopy>true</CreateTempDataCopy>
                <AutoUpdate>true</AutoUpdate>
                <DataFileSystemWatcher>true</DataFileSystemWatcher>
                <UpdatePollingIntervalSeconds>1800</UpdatePollingIntervalSeconds>
            </BuildParameters>
            <BuilderName>DeviceDetectionHashEngine</BuilderName>
        </Element>
   </Elements>
</PipelineOptions>

We are using the DataUpdateServiceDefault, set up like this:

DataUpdateService dataUpdateService = new DataUpdateServiceDefault();
File optionsFile = FileFinder.getFilePath("DeviceEnricherPipeline.xml");
PipelineOptions pipelineOptions = PipelineOptionsFactory.getOptionsFromFile(optionsFile);
Pipeline pipeline = new FiftyOnePipelineBuilder().addService(dataUpdateService).buildFromConfiguration(pipelineOptions);

Thank you for your help.

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions