Core - Cambios y Soluciones
Esta página cubre los principales cambios y correcciones proporcionados en la versión IPF-2025.2.2.
Poller de Archivos IPF
Agregado
-
Nuevas opciones de configuración a nivel de trabajo de sondeo:
-
ipf.file-poller.pollers[N].changed-file-job-reschedule-policy property: Proporciona tres opciones para manejar "archivos cambiados" (es decir, aquellos con la misma ruta de archivo que un archivo procesado anteriormente, pero con contenido/metadata diferente, como archivos que aún se estaban subiendo durante la consulta anterior):`NEVER`,ALWAYS,IGNORE_TRIGGERED. El opción predeterminada esALWAYS. -
ipf.file-poller.pollers[N].file-processing-parallelism: Establece el número máximo de archivos recuperados que pueden tener sus atributos mapeados (leyendo los metadatos del archivo y generando hashes) de manera concurrente. El valor predeterminado es128. -
ipf.file-poller.pollers[N].file-processing-buffer: Proporciona control de contrapresión al limitar el número máximo de archivos recuperados (después de mapping) que puede ser enviado en cada lote para la búsqueda y procesamiento en la base de datos para determinar si los archivos son nuevos, han cambiado o ya han sido procesados. El valor predeterminado es500. -
ipf.file-poller.pollers[N].file-content-hash-buffer-bytes: Establece el tamaño del búfer (en bytes) para el BufferedInputStream utilizado al calcular el hash del contenido de un archivo recuperado. El valor predeterminado es8192.
-
-
jobStatusylastUpdatedcampos añadidos aSchedulerJobEntity.JobStatusilustra si un trabajo scheduled por el poller para un archivo "cambiado" ha sido cancelado según la lógica del archivo "cambiado" y previene el escenario (observado en prueba de la lógica anterior) donde más de uno scheduler se podría crear una entidad de trabajo para un archivo (si se recupera dos veces y determinado que es un archivo "cambiado" la segunda vez) y consultar la colección devuelve más de una entrada, rompiendo el contrato de devoluciónMono<>) y lanzando una excepción.=== Cambiado
-
El contenido de los archivos recuperados ahora se ha hashado utilizando un búfer.input stream con un tamaño de búfer configurable, en lugar de cargar el archivo completo en memoria.
-
El
idcampo en elFileEntityla colección ahora almacena la ruta completa del archivo en lugar de solo el nombre del archivo. Esto aborda un problema en el que los archivos con el mismo nombre en diferentes carpetas (recuperados por diferentes trabajos de sondeo, por ejemplo) se tratarían como un solo archivo en la base de datos, por lo que el segundo archivo se marcaría erróneamente como "cambiado". El@Idnombre del campo en elFileEntityla entidad del documento ha sido cambiada defileNametofilePathpara reflejar esta actualización. === Fijo -
FilePollerActor ahora se recupera automáticamente si se produce una excepción al intentar programar los trabajos del sondeo al inicio.