Notas de la versión de Apache Ignite
Base de datos de memoria distribuida de Apache Ignite 2.15.0
(!) advertir:
- Se eliminó el modo Daemon del nodo Ignite;
- Se eliminó la herramienta ignitevisorcmd obsoleta;
- Se eliminaron los beans JMX heredados (
ThreadPoolMXBean
,CacheGroupMetricsMXBean
,CacheMetricsMXBean
,PersistenceMetricsMXBean
,DataStorageMetricsMXBean
,DataRegionMetricsMXBean
); ignite-spring
Se eliminaron las dependencias de módulos de módulos redundantes.Siignite-indexing
necesita ejecutar SQL en Ignite y usar Maven, debe especificar qué motor SQL usar:ignite-indexing
oignite-calcite
;- Migración
ignite-ssh
de módulos a la biblioteca de extensiones; SqlFieldsQuery
Indicador en desusolazy
cuyo valor predeterminado se cambió atrue
;- De forma predeterminada, las operaciones en cachés de patio dentro de las transacciones están deshabilitadas.Si desea permitir tales operaciones, debe configurar la propiedad del sistema
IGNITE_ALLOW_ATOMIC_OPS_IN_TX
comotrue
.
Encender:
- Se agregó la función de instantánea incremental;
- Se agregó la función de conversión de objetos de caché (se puede usar para encriptar, comprimir o filtrar datos);
- Las instantáneas admiten el almacenamiento en caché con la compresión de páginas de disco habilitada;
- Las instantáneas admiten la función de copiar solo los datos de la partición primaria;
- Se agregó una opción para ignorar la verificación de instantáneas durante la recuperación de instantáneas;
- Ejecutar una instantánea mientras el flujo de datos está cargando datos generará una excepción y no se puede garantizar la consistencia;
- Escribir advertencias para operaciones de instantáneas en el almacén de metadatos;
- Se agregó clasificación de página incremental de instantáneas;
- Se agregó tamaño de partición y controles de contador al crear instantáneas;
CONFIGURATION
Vista del sistema agregada ;PAGE_LISTS
Se agregó una columna de espacio libre de página en la vista del sistema;- Se agregó una API para eliminar las conexiones de los clientes (cliente ligero, JDBC, ODBC);
- Se agregaron indicadores de tiempo de lectura de página y tiempo de reemplazo de página;
- Se agregaron indicadores relacionados de reconocimiento de particiones de clientes ligeros;
- Se agregó un atributo global para deshabilitar CDC;
- Se agregó un atributo de configuración para el tamaño máximo del directorio CDC;
- CDC admite la política de caducidad;
- Admite la configuración del tiempo de caducidad durante la resolución de conflictos de CDC;
CacheJdbcPojoStore
Se agregó soporte paraCLOB
yBLOB
tipos;- En entornos Java 15+, se agrega lo que falta
--add-opens
; PlatformDotNetSessionLockResult
Se agregó un constructor predeterminado para evitarReflectionFactory
algunos problemas en algunos servidores de aplicaciones;- Soporte de manejo de particiones de red usando configure
FailureHandler
; - Las tareas informáticas .NET y C++ admiten la autorización;
- La operación de parada/inicio/reinicio de los nodos del clúster admite la autorización;
- Autorización de soporte de operaciones de administración de usuarios de SQL;
- Agregar nuevos
ADMIN_CLUSTER_STATE
permisos (este es el único permiso requerido para modificar el estado del clúster); - Los permisos otorgados a las tareas informáticas del sistema a través de FQN han sido reemplazados por permisos de sistema predefinidos;
- Registro mejorado de procesos de reequilibrio y PME;
- El exportador JMX ahora es el exportador de métricas predeterminado;
- Proceso de reconstrucción de índice optimizado (WAL deshabilitado durante la reconstrucción de índice);
- Optimizado el proceso de congelación de grandes áreas de memoria con persistencia habilitada;
- Optimizado el proceso de puesta a cero de las páginas de memoria;
- Se solucionó el problema de serialización de lambda en el entorno JDK17;
- Solucionado el problema de fragmentación del disco en el entorno de Windows;
- Se solucionó el
cache.invoke()
problema de pérdida de memoria de la conexión JDBC cuando el método de ejecución de caché de escritura está habilitado; - Se corrigió la corrupción de datos del caché atómico cuando la entrada de datos es mayor que el tamaño del búfer WAL;
- Se solucionó un problema con la creación de instantáneas en nodos que no son de línea de base;
- Se corrigió la inconsistencia de las instantáneas cuando el caché actualiza los datos;
- Se solucionó un problema en la cancelación de instantáneas cuando varios nodos configuran la misma ruta;
- Se solucionó un problema por el cual las instantáneas no se podían restaurar si fallaba la fase de preprocesamiento;
- Se solucionó
ignite-cdc
el problema de detenerse cuando el nodo del cliente falla; - Se corrigió
ignite-cdc.sh
el problema de falla al iniciar en un directorio de trabajo no predeterminado; - Se solucionó el problema de que el envío de estado de CdcMain era incorrecto durante el proceso de reconstrucción del índice;
- Se solucionó el problema de detenerse
ignite-cdc.sh
cuando se detuvoCdcConsumer
; - Se solucionó el problema de que los indicadores relacionados con la cantidad de sesiones de clientes en línea eran incorrectos;
- Se solucionó el problema del cálculo incorrecto de los indicadores relacionados con el tamaño de almacenamiento del grupo de caché (
PagesFillFactor
,TotalUsedPages
,TotalAllocatedPages
); - Se corrigió
currentTimeMillis
el manejo incorrecto de las afirmaciones de actualización del histograma al reducir; - Se solucionó el problema de que el código de estado REST era incorrecto cuando fallaba la solicitud;
- Se solucionó el problema de que el almacenamiento de terceros se puede omitir al ejecutar la operación GET de la API REST;
- Se corrigieron algunos problemas de paso de parámetros en tareas de cálculo;
- Se solucionó un problema por el cual las aserciones SPI de comunicación podrían no manejarse correctamente cuando se configuran conexiones emparejadas;
- Se corrigió la pérdida potencial de datos en escenarios de reequilibrio horizontal;
- Se corrigió el manejo incorrecto de las aserciones de cálculo de CRC cuando la compresión de la página del disco está habilitada;
- Se solucionó
cpMapSnapshot.bin
el problema de que el nodo no se iniciaba cuando el archivo estaba dañado; - Se solucionó un problema por el cual realizar un punto de control después de congelar el clúster causaría daños en el almacenamiento;
- Se solucionó un problema por el cual la corrupción del almacenamiento resultaría del procesamiento de vencimiento de entrada después de congelar el clúster;
- Se solucionó el problema de la falla del nodo causada por la operación de reequilibrio cuando se detiene el caché;
- Se corrigió la excepción de puntero nulo al destruir el caché y revertir la transacción al mismo tiempo;
- Se solucionó
ClusterGroup.forNodeId
el problema de que la verificación de ID era incorrecta; - Se solucionó el problema de que la relación de asociación no se manejaba correctamente después de que el thin client se volviera a conectar;
- Se solucionó un problema por el cual la creación de caché cercana no se manejaba correctamente en nodos no colocados;
- Se corrigió la posible corrupción de la memoria debido a un tamaño de búfer de compresión insuficiente;
- Se solucionó un problema por el que se omitía la verificación de partición de almacenamiento de índice y meta durante la verificación de instantáneas;
- Se solucionó
IndexQuery
un problema por el cual las condiciones después de la primera cláusula IN se ignoraban en ; - Solucionado el problema de que los indicadores no se calculaban correctamente en modo suma
LOG_ONLY
;BACKGROUND
WalWritingRate
- Actualice la dependencia log4j2 a 2.20.0;
- Actualice la dependencia de Jetty a 9.4.49.v20220914;
- Actualice la dependencia de Jackson Databind a 2.14.0;
- Actualice la dependencia de postgresql a 42.5.0;
- Actualice la dependencia de Netty a 4.1.89.Final;
- Actualice la dependencia de Ant a 1.10.13;
- Actualice la dependencia de Apache Calcite a 1.32.0.
Guión de control:
- Comando de limpieza de caché agregado;
- Comando de escaneo de caché agregado;
- Se agregó compatibilidad con varias particiones para los comandos de reparación de consistencia;
idle-verify
El comando admite la salida de una lista de particiones dañadas;idle-verify
El comando admite guardar los resultados en un archivo de registro;idle-verify
comando de verificación mejorada de las entradas de datos;- Se agregaron comandos para configurar el histograma y los indicadores de tasa de aciertos;
- Se agregó un comando para reenviar a la fuerza los datos de CDC;
- Se agregó un comando para eliminar el último enlace del segmento CDC roto;
- Sintaxis unificada agregada para iniciar y cancelar operaciones de instantáneas;
- Se agregó la función de obtener datos de vista de múltiples nodos;
- Migre el mecanismo de registro a
IgniteLogger
.
Cliente ligero de Java:
- Se agregó la función de descubrimiento del servidor;
- Se agregaron
ClientConfiguration.clusterDiscoveryEnabled
parámetros de configuración; - Función de monitoreo de eventos agregada;
- Se agregó la capacidad de equilibrar la carga de las conexiones (abrir conexiones aleatoriamente cuando se solicite en lugar de usar el valor predeterminado);
- Registro configurable agregado;
- Se solucionó un problema de solicitud de carrera que se colgó en el apagado.
Encender .NET:
- Se agregó soporte para los métodos de interfaz predeterminados de los servicios;
- Se agregó soporte AOT nativo;
- Se agregaron
IgniteClientConfiguration.EnableClusterDiscovery
propiedades de configuración para habilitar y deshabilitar el descubrimiento del lado del servidor; - Clasificación fija de estructuras binarizables anidadas con diferentes modos;
- Se corrigieron problemas de inicio para entornos Java 15+;
- Se corrigió la invalidación de caché de la plataforma en nodos de clientes con cachés cercanos;
- Se corrigieron las DLL faltantes de los paquetes binarios.
Encender C++:
- Se agregó la función de que el cliente ligero C++ puede usar el lado de Java para consultar continuamente el filtro remoto;
- Se solucionó el problema de SIGSEGV cuando se cierra la conexión del cliente ligero.
ODBC:
- Se solucionó un problema con el manejo de comillas simples.
Sql:
- Se solucionó el problema de los resultados de consulta redundantes en las líneas de comentarios;
- Se corrigieron las conversiones de tipo incorrectas para los escaneos de índice (por ejemplo, cuando el campo de índice tiene un tipo de datos de cadena y la fila de búsqueda tiene un tipo de datos numérico);
- Se solucionó un problema por el que se encontraba un posible interbloqueo en un subproceso al actualizar las estadísticas de SQL.
Motor SQL basado en calcita:
- Se agregó la capacidad de configurar cuotas de memoria en montón globales y cuotas de memoria en montón a nivel de consulta;
- Se agregó la capacidad de escanear las claves en línea de un índice sin realizar solicitudes adicionales a las páginas de datos;
- Se agregó
SEARCH/SARG
soporte nativo para operaciones (esto permite escaneos de índice para algunas condiciones, incluido IN); - Se agregó
LocalDate/LocalTime
soporte para tipos de datos; - Se agregó la función de escaneo de índice para campos de tipo booleano;
- Se han añadido
EVERY/SOME
funciones de agregación ; - Se agregó una salida detallada de la excepción del analizador Calcite;
- Se agregó un nuevo tipo de distribución (optimización de colocación parcialmente asociada);
- Optimización agregada
COUNT(column)
(columna más índice); - Se agregó la optimización de las condiciones del índice de fusión para el mismo campo;
- Optimización agregada de la función de agregación min()/max() (use el valor de índice de inicio/último);
- Se agregó una optimización para enviar partes de filtro irrelevantes a los escaneos de tablas;
- Realizó la función de consulta de metadatos requerida por ODBC/JDBC;
- Escaneos de índice optimizados para valores nulos;
- Se solucionó el problema de escaneo que excluía las entradas caducadas;
- Se corrigió el problema de conteo de filas con el límite de compensación;
- Se corrigió el problema de error de CAST al convertir el tipo numérico al tipo booleano;
- Se solucionó un problema de puntero nulo al ejecutar DML en tablas inexistentes.