This is an automated email from the ASF dual-hosted git repository.

apkhmv pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 9e0e6764499 IGNITE-26001 Simplify event log API (#6303)
9e0e6764499 is described below

commit 9e0e6764499bd0ca102753f8708da936ebff77ee
Author: Vadim Pakhnushev <[email protected]>
AuthorDate: Thu Jul 24 03:09:02 2025 +0300

    IGNITE-26001 Simplify event log API (#6303)
---
 .../ignite/internal/eventlog/api/EventFactory.java | 42 ---------------
 .../internal/eventlog/api/IgniteEventType.java     | 30 +++++++++++
 .../ignite/internal/eventlog/api/IgniteEvents.java | 63 ----------------------
 .../internal/eventlog/event/EventBuilder.java      | 10 ++--
 .../internal/eventlog/event/EventTypeRegistry.java |  4 +-
 .../internal/eventlog/event/IgniteEventsTest.java  | 10 ++--
 .../internal/eventlog/impl/EventLogTest.java       | 10 ++--
 .../ignite/internal/eventlog/impl/LogSinkTest.java |  6 +--
 .../internal/eventlog/impl/WebhookSinkTest.java    | 22 ++++----
 .../ser/JacksonBasedJsonSerializerTest.java        | 14 ++---
 .../authentication/AuthenticationManagerImpl.java  | 11 ++--
 .../sql/engine/ItSqlQueryEventLogTest.java         |  3 +-
 .../internal/sql/engine/QueryEventsFactory.java    | 10 ++--
 13 files changed, 79 insertions(+), 156 deletions(-)

diff --git 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/EventFactory.java
 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/EventFactory.java
deleted file mode 100644
index 7e65d2dc595..00000000000
--- 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/EventFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.eventlog.api;
-
-import org.apache.ignite.internal.eventlog.event.EventBuilder;
-import org.apache.ignite.internal.eventlog.event.EventUser;
-
-/**
- * The factory that is responsible for creating events. This interface should 
be used everywhere where events are created. Only special
- * cases should use {@link EventBuilder} directly, for example, in tests.
- */
-public interface EventFactory {
-    /**
-     * Creates an event object.
-     *
-     * @param user The user that caused the event.
-     * @return The event object.
-     */
-    Event create(EventUser user);
-
-    /**
-     * Creates an event builder with the event type defined. The type is set 
by the factory. For example,
-     * {@link IgniteEvents.USER_AUTHENTICATION_SUCCESS.builder} will return a 
builder with
-     * {@link IgniteEventType.USER_AUTHENTICATION_SUCCESS} type set.
-     */
-    EventBuilder builder();
-}
diff --git 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEventType.java
 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEventType.java
index 3149261e06c..9cc5625ebea 100644
--- 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEventType.java
+++ 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEventType.java
@@ -18,11 +18,18 @@
 package org.apache.ignite.internal.eventlog.api;
 
 import java.util.Arrays;
+import org.apache.ignite.internal.eventlog.event.EventBuilder;
 import org.apache.ignite.internal.eventlog.event.EventTypeRegistry;
+import org.apache.ignite.internal.eventlog.event.EventUser;
 
 /**
  * Defines a subset of event types that can be created in the system. Note, 
the event type is a string that is unique within the system. The
  * event type is used to filter the events in the event log.
+ *
+ * <p>If you want to create an instance of the Event with the specified type, 
use the {@link #create} method.
+ *
+ * <p>For example, to create an event of the type USER_AUTHENTICATED:
+ * <pre>{@code 
IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.system());}</pre>
  */
 public enum IgniteEventType {
     USER_AUTHENTICATION_SUCCESS,
@@ -43,4 +50,27 @@ public enum IgniteEventType {
      */
     public static void initialize() {
     }
+
+    /**
+     * Creates an event of this type with current timestamp and specified 
event user.
+     *
+     * @param user Event user.
+     * @return Created event.
+     */
+    public Event create(EventUser user) {
+        return builder()
+                .user(user)
+                .timestamp(System.currentTimeMillis())
+                .build();
+    }
+
+    /**
+     * Creates new event build of this type.
+     *
+     * @return Created event builder.
+     */
+    public EventBuilder builder() {
+        return Event.builder()
+                .type(name());
+    }
 }
diff --git 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEvents.java
 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEvents.java
deleted file mode 100644
index c6d62450f6b..00000000000
--- 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/api/IgniteEvents.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.eventlog.api;
-
-import org.apache.ignite.internal.eventlog.event.EventBuilder;
-import org.apache.ignite.internal.eventlog.event.EventUser;
-
-/**
- * The main class for creating all Ignite events.
- *
- * <p>If you want to create an instance of the Event with the specified type, 
use the {@link #create} method.
- *
- * <p>For example, to create an event of the type USER_AUTHENTICATED:
- * <pre>{@code 
IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.system());}</pre>
- */
-public final class IgniteEvents implements EventFactory {
-    public static final IgniteEvents USER_AUTHENTICATION_SUCCESS = new 
IgniteEvents(IgniteEventType.USER_AUTHENTICATION_SUCCESS);
-    public static final IgniteEvents USER_AUTHENTICATION_FAILURE = new 
IgniteEvents(IgniteEventType.USER_AUTHENTICATION_FAILURE);
-
-    public static final IgniteEvents CLIENT_CONNECTION_ESTABLISHED = new 
IgniteEvents(IgniteEventType.CLIENT_CONNECTION_ESTABLISHED);
-    public static final IgniteEvents CLIENT_CONNECTION_CLOSED = new 
IgniteEvents(IgniteEventType.CLIENT_CONNECTION_CLOSED);
-    public static final IgniteEvents QUERY_STARTED = new 
IgniteEvents(IgniteEventType.QUERY_STARTED);
-    public static final IgniteEvents QUERY_FINISHED = new 
IgniteEvents(IgniteEventType.QUERY_FINISHED);
-
-    private final IgniteEventType type;
-
-    private IgniteEvents(IgniteEventType type) {
-        this.type = type;
-    }
-
-    public String type() {
-        return type.name();
-    }
-
-    @Override
-    public Event create(EventUser user) {
-        return Event.builder()
-                .type(type.name())
-                .user(user)
-                .timestamp(System.currentTimeMillis())
-                .build();
-    }
-
-    @Override
-    public EventBuilder builder() {
-        return new EventBuilder().type(type.name());
-    }
-}
diff --git 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventBuilder.java
 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventBuilder.java
index bc62c8e0e63..1495ce4767a 100644
--- 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventBuilder.java
+++ 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventBuilder.java
@@ -19,7 +19,7 @@ package org.apache.ignite.internal.eventlog.event;
 
 import java.util.Map;
 import org.apache.ignite.internal.eventlog.api.Event;
-import org.apache.ignite.internal.eventlog.api.EventFactory;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import 
org.apache.ignite.internal.eventlog.event.exception.InvalidEventTypeException;
 import 
org.apache.ignite.internal.eventlog.event.exception.InvalidProductVersionException;
 import 
org.apache.ignite.internal.eventlog.event.exception.MissingEventTypeException;
@@ -27,8 +27,9 @@ import 
org.apache.ignite.internal.eventlog.event.exception.MissingEventUserExcep
 import org.apache.ignite.internal.properties.IgniteProductVersion;
 
 /**
- * The event builder that should be used only where the {@link EventFactory} 
is not enough to create an event. For example, in tests, where
- * you want to put some special event. In all other cases, use {@link 
EventFactory} to create events.
+ * The event builder that should be used only where the {@link 
IgniteEventType#builder()} is not enough to create an event. For example, in
+ * tests, where you want to put some special event. In all other cases, use 
{@link IgniteEventType#create(EventUser)} or
+ * {@link IgniteEventType#builder()} to create events.
  */
 public class EventBuilder {
     private static final String DEFAULT_VERSION = 
IgniteProductVersion.CURRENT_VERSION.toString();
@@ -43,9 +44,6 @@ public class EventBuilder {
 
     private Map<String, Object> fields;
 
-    public EventBuilder() {
-    }
-
     /** The type of the event. The type must be not null and registered in the 
{@link EventTypeRegistry}. */
     public EventBuilder type(String type) {
         this.type = type;
diff --git 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventTypeRegistry.java
 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventTypeRegistry.java
index f5d37c86769..35a267472ae 100644
--- 
a/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventTypeRegistry.java
+++ 
b/modules/eventlog/src/main/java/org/apache/ignite/internal/eventlog/event/EventTypeRegistry.java
@@ -20,12 +20,12 @@ package org.apache.ignite.internal.eventlog.event;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import 
org.apache.ignite.internal.eventlog.event.exception.NotUniqueEventTypeException;
 
 /**
  * Registry of all event types that are known to the system. Every new event 
type must be registered in this registry once. For the example
- * of usage, see {@link IgniteEvents}. The class is thread-safe.
+ * of usage, see {@link IgniteEventType}. The class is thread-safe.
  */
 public final class EventTypeRegistry {
     private static final Object DUMMY = new Object();
diff --git 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/event/IgniteEventsTest.java
 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/event/IgniteEventsTest.java
index ef738e7efc1..b91547299e5 100644
--- 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/event/IgniteEventsTest.java
+++ 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/event/IgniteEventsTest.java
@@ -23,7 +23,7 @@ import static org.hamcrest.Matchers.equalTo;
 
 import java.util.stream.Stream;
 import org.apache.ignite.internal.eventlog.api.Event;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.properties.IgniteProductVersion;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
@@ -37,21 +37,21 @@ class IgniteEventsTest {
     private static Stream<Arguments> events() {
         return Stream.of(
                 Arguments.of(
-                        
IgniteEvents.CLIENT_CONNECTION_CLOSED.create(EventUser.of(USER, PROVIDER)),
+                        
IgniteEventType.CLIENT_CONNECTION_CLOSED.create(EventUser.of(USER, PROVIDER)),
                         Event.builder()
                                 .type("CLIENT_CONNECTION_CLOSED")
                                 
.productVersion(IgniteProductVersion.CURRENT_VERSION.toString())
                                 .user(EventUser.of(USER, PROVIDER))
                 ),
                 Arguments.of(
-                        
IgniteEvents.CLIENT_CONNECTION_ESTABLISHED.create(EventUser.of(USER, PROVIDER)),
+                        
IgniteEventType.CLIENT_CONNECTION_ESTABLISHED.create(EventUser.of(USER, 
PROVIDER)),
                         Event.builder()
                                 .type("CLIENT_CONNECTION_ESTABLISHED")
                                 
.productVersion(IgniteProductVersion.CURRENT_VERSION.toString())
                                 .user(EventUser.of(USER, PROVIDER))
                 ),
                 Arguments.of(
-                        
IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of(USER, PROVIDER)),
+                        
IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of(USER, 
PROVIDER)),
                         Event.builder()
                                 .type("USER_AUTHENTICATION_SUCCESS")
                                 
.productVersion(IgniteProductVersion.CURRENT_VERSION.toString())
@@ -59,7 +59,7 @@ class IgniteEventsTest {
 
                 ),
                 Arguments.of(
-                        
IgniteEvents.USER_AUTHENTICATION_FAILURE.create(EventUser.of(USER, PROVIDER)),
+                        
IgniteEventType.USER_AUTHENTICATION_FAILURE.create(EventUser.of(USER, 
PROVIDER)),
                         Event.builder()
                                 .type("USER_AUTHENTICATION_FAILURE")
                                 
.productVersion(IgniteProductVersion.CURRENT_VERSION.toString())
diff --git 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/EventLogTest.java
 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/EventLogTest.java
index fad37dcfa63..2242bfc42ed 100644
--- 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/EventLogTest.java
+++ 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/EventLogTest.java
@@ -33,7 +33,7 @@ import java.util.function.Supplier;
 import org.apache.ignite.internal.eventlog.api.Event;
 import org.apache.ignite.internal.eventlog.api.EventChannel;
 import org.apache.ignite.internal.eventlog.api.EventLog;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.eventlog.api.Sink;
 import org.apache.ignite.internal.eventlog.event.EventUser;
 import org.junit.jupiter.api.BeforeEach;
@@ -41,7 +41,7 @@ import org.junit.jupiter.api.Test;
 
 class EventLogTest {
     private static final EventUser TEST_USER = EventUser.of("testuser", 
"basicAuthenticator");
-    private static final Event TEST_EVENT = 
IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(TEST_USER);
+    private static final Event TEST_EVENT = 
IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(TEST_USER);
     private static final String TEST_CHANNEL_NAME = "testChannel";
 
     private EventLog eventLog;
@@ -84,7 +84,7 @@ class EventLogTest {
         assertThat(container, hasItem(TEST_EVENT));
 
         // When log event with a type that is not supported by the channel.
-        Event event = IgniteEvents.CLIENT_CONNECTION_CLOSED.create(TEST_USER);
+        Event event = 
IgniteEventType.CLIENT_CONNECTION_CLOSED.create(TEST_USER);
 
         // Then nothing thrown.
         assertDoesNotThrow(() -> eventLog.log(event));
@@ -119,7 +119,7 @@ class EventLogTest {
         assertThat(container, hasItem(TEST_EVENT));
 
         // When log event with a type that is not supported by the channel.
-        Event event = IgniteEvents.CLIENT_CONNECTION_CLOSED.create(TEST_USER);
+        Event event = 
IgniteEventType.CLIENT_CONNECTION_CLOSED.create(TEST_USER);
 
         // Then nothing thrown.
         assertDoesNotThrow(() -> eventLog.log(event.getType(), () -> event));
@@ -141,7 +141,7 @@ class EventLogTest {
                 IllegalArgumentException.class,
                 () -> eventLog.log(
                         TEST_EVENT.getType(),
-                        () -> 
IgniteEvents.CLIENT_CONNECTION_CLOSED.create(TEST_USER)
+                        () -> 
IgniteEventType.CLIENT_CONNECTION_CLOSED.create(TEST_USER)
                 )
         );
     }
diff --git 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/LogSinkTest.java
 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/LogSinkTest.java
index 0642f1fabc6..468abd8b73b 100644
--- 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/LogSinkTest.java
+++ 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/LogSinkTest.java
@@ -29,7 +29,7 @@ import java.util.UUID;
 import 
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
 import 
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
 import org.apache.ignite.internal.eventlog.api.Event;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.eventlog.api.Sink;
 import org.apache.ignite.internal.eventlog.config.schema.EventLogConfiguration;
 import org.apache.ignite.internal.eventlog.config.schema.LogSinkChange;
@@ -73,7 +73,7 @@ class LogSinkTest extends BaseIgniteAbstractTest {
         Sink logSink = new SinkFactoryImpl(new 
EventSerializerFactory().createEventSerializer(), UUID::randomUUID, "default")
                 .createSink(cfg.sinks().get("logSink").value());
         // And event.
-        Event event = IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(
+        Event event = IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(
                 EventUser.of("user1", "basicProvider")
         );
 
@@ -93,7 +93,7 @@ class LogSinkTest extends BaseIgniteAbstractTest {
         assertThat(Files.readAllLines(eventlogPath), 
hasItem(expectedEventJson));
 
         // When write one more event.
-        Event event2 = IgniteEvents.CLIENT_CONNECTION_CLOSED.create(
+        Event event2 = IgniteEventType.CLIENT_CONNECTION_CLOSED.create(
                 EventUser.of("user2", "basicProvider")
         );
 
diff --git 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/WebhookSinkTest.java
 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/WebhookSinkTest.java
index ecd77bef1ed..8d539e23b9b 100644
--- 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/WebhookSinkTest.java
+++ 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/impl/WebhookSinkTest.java
@@ -34,7 +34,7 @@ import java.util.stream.Stream;
 import 
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
 import 
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
 import org.apache.ignite.internal.eventlog.api.Event;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.eventlog.config.schema.EventLogConfiguration;
 import org.apache.ignite.internal.eventlog.config.schema.WebhookSinkChange;
 import org.apache.ignite.internal.eventlog.event.EventUser;
@@ -74,9 +74,9 @@ class WebhookSinkTest extends BaseIgniteAbstractTest {
         WebhookSink sink = createSink(c -> c.changeBatchSize(2));
 
         Stream<Event> events = Stream.of(
-                
IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1", 
"basicProvider")),
-                
IgniteEvents.USER_AUTHENTICATION_FAILURE.create(EventUser.of("user2", 
"basicProvider")),
-                
IgniteEvents.CLIENT_CONNECTION_ESTABLISHED.create(EventUser.of("user3", 
"basicProvider"))
+                
IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1", 
"basicProvider")),
+                
IgniteEventType.USER_AUTHENTICATION_FAILURE.create(EventUser.of("user2", 
"basicProvider")),
+                
IgniteEventType.CLIENT_CONNECTION_ESTABLISHED.create(EventUser.of("user3", 
"basicProvider"))
         );
 
         events.forEach(sink::write);
@@ -114,7 +114,7 @@ class WebhookSinkTest extends BaseIgniteAbstractTest {
 
         WebhookSink sink = createSink(c -> 
c.changeBatchSendFrequencyMillis(200L));
 
-        
sink.write(IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
+        
sink.write(IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
 
         Awaitility.await()
                 .atMost(Duration.ofMillis(500L))
@@ -146,7 +146,7 @@ class WebhookSinkTest extends BaseIgniteAbstractTest {
 
         WebhookSink sink = createSink(c -> c.changeBatchSize(2));
 
-        
sink.write(IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
+        
sink.write(IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
 
         Awaitility.await()
                 .timeout(Duration.ofMillis(500L))
@@ -167,9 +167,9 @@ class WebhookSinkTest extends BaseIgniteAbstractTest {
 
     @Test
     void shouldRemoveEventsIfQueueIsFull() {
-        var user1Event = 
IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1", 
"basicProvider"));
-        var user2Event = 
IgniteEvents.USER_AUTHENTICATION_FAILURE.create(EventUser.of("user2", 
"basicProvider"));
-        var user3Event = 
IgniteEvents.CLIENT_CONNECTION_ESTABLISHED.create(EventUser.of("user3", 
"basicProvider"));
+        var user1Event = 
IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1", 
"basicProvider"));
+        var user2Event = 
IgniteEventType.USER_AUTHENTICATION_FAILURE.create(EventUser.of("user2", 
"basicProvider"));
+        var user3Event = 
IgniteEventType.CLIENT_CONNECTION_ESTABLISHED.create(EventUser.of("user3", 
"basicProvider"));
 
         Stream<Event> events = Stream.of(user1Event, user2Event, user3Event);
 
@@ -192,7 +192,7 @@ class WebhookSinkTest extends BaseIgniteAbstractTest {
 
         WebhookSink sink = createSink(c -> 
c.changeBatchSize(1).changeRetryPolicy().changeInitBackoffMillis(100L));
 
-        
sink.write(IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
+        
sink.write(IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
 
         Awaitility.await()
                 .atMost(Duration.ofMillis(500L))
@@ -225,7 +225,7 @@ class WebhookSinkTest extends BaseIgniteAbstractTest {
 
         WebhookSink sink = createSink(c -> 
c.changeBatchSize(1).changeRetryPolicy().changeInitBackoffMillis(100L));
 
-        
sink.write(IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
+        
sink.write(IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of("user1",
 "basicProvider")));
 
         Awaitility.await()
                 .atMost(Duration.ofMillis(500L))
diff --git 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/ser/JacksonBasedJsonSerializerTest.java
 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/ser/JacksonBasedJsonSerializerTest.java
index 845f79a3de7..a46c40c9d76 100644
--- 
a/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/ser/JacksonBasedJsonSerializerTest.java
+++ 
b/modules/eventlog/src/test/java/org/apache/ignite/internal/eventlog/ser/JacksonBasedJsonSerializerTest.java
@@ -23,7 +23,7 @@ import static 
uk.co.datumedge.hamcrest.json.SameJSONAs.sameJSONAs;
 import java.util.Map;
 import java.util.stream.Stream;
 import org.apache.ignite.internal.eventlog.api.Event;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.eventlog.event.EventUser;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -34,7 +34,7 @@ class JacksonBasedJsonSerializerTest {
     private static Stream<Arguments> events() {
         return Stream.of(
                 Arguments.of(
-                        IgniteEvents.CLIENT_CONNECTION_CLOSED.builder()
+                        IgniteEventType.CLIENT_CONNECTION_CLOSED.builder()
                                 .productVersion("3.0.0")
                                 .timestamp(1234567890)
                                 .user(EventUser.of("test_user", 
"test_provider"))
@@ -47,7 +47,7 @@ class JacksonBasedJsonSerializerTest {
                                 + "}"
                 ),
                 Arguments.of(
-                        IgniteEvents.CLIENT_CONNECTION_ESTABLISHED.builder()
+                        IgniteEventType.CLIENT_CONNECTION_ESTABLISHED.builder()
                                 .productVersion("3.0.0")
                                 .timestamp(1234567890)
                                 .user(EventUser.of("test_user", 
"test_provider"))
@@ -60,7 +60,7 @@ class JacksonBasedJsonSerializerTest {
                                 + "}"
                 ),
                 Arguments.of(
-                        IgniteEvents.USER_AUTHENTICATION_FAILURE.builder()
+                        IgniteEventType.USER_AUTHENTICATION_FAILURE.builder()
                                 .productVersion("3.0.0")
                                 .timestamp(1234567890)
                                 .user(EventUser.of("test_user", 
"test_provider"))
@@ -73,7 +73,7 @@ class JacksonBasedJsonSerializerTest {
                                 + "}"
                 ),
                 Arguments.of(
-                        IgniteEvents.USER_AUTHENTICATION_SUCCESS.builder()
+                        IgniteEventType.USER_AUTHENTICATION_SUCCESS.builder()
                                 .productVersion("3.0.0")
                                 .timestamp(1234567890)
                                 .user(EventUser.of("test_user", 
"test_provider"))
@@ -86,7 +86,7 @@ class JacksonBasedJsonSerializerTest {
                                 + "}"
                 ),
                 Arguments.of(
-                        IgniteEvents.USER_AUTHENTICATION_SUCCESS.builder()
+                        IgniteEventType.USER_AUTHENTICATION_SUCCESS.builder()
                                 .productVersion("3.0.0")
                                 .timestamp(1234567890)
                                 .user(EventUser.of("test_user", 
"test_provider"))
@@ -115,7 +115,7 @@ class JacksonBasedJsonSerializerTest {
                                 + "}"
                 ),
                 Arguments.of(
-                        IgniteEvents.USER_AUTHENTICATION_SUCCESS.builder()
+                        IgniteEventType.USER_AUTHENTICATION_SUCCESS.builder()
                                 .productVersion("3.0.0")
                                 .timestamp(1234567890)
                                 .user(EventUser.of("test_user", 
"test_provider"))
diff --git 
a/modules/security/src/main/java/org/apache/ignite/internal/security/authentication/AuthenticationManagerImpl.java
 
b/modules/security/src/main/java/org/apache/ignite/internal/security/authentication/AuthenticationManagerImpl.java
index 13a94a6f015..9cc298acfc8 100644
--- 
a/modules/security/src/main/java/org/apache/ignite/internal/security/authentication/AuthenticationManagerImpl.java
+++ 
b/modules/security/src/main/java/org/apache/ignite/internal/security/authentication/AuthenticationManagerImpl.java
@@ -32,7 +32,7 @@ import org.apache.ignite.configuration.NamedListView;
 import org.apache.ignite.configuration.notifications.ConfigurationListener;
 import org.apache.ignite.internal.event.AbstractEventProducer;
 import org.apache.ignite.internal.eventlog.api.EventLog;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.eventlog.event.EventUser;
 import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
@@ -208,9 +208,10 @@ public class AuthenticationManagerImpl
 
     private void logAuthenticationFailure(AuthenticationRequest<?, ?> 
authenticationRequest) {
         eventLog.log(
-                IgniteEvents.USER_AUTHENTICATION_FAILURE.type(),
-                () -> IgniteEvents.USER_AUTHENTICATION_FAILURE.builder()
+                IgniteEventType.USER_AUTHENTICATION_FAILURE.name(),
+                () -> IgniteEventType.USER_AUTHENTICATION_FAILURE.builder()
                         .user(EventUser.system())
+                        .timestamp(System.currentTimeMillis())
                         .fields(Map.of("identity", 
tryGetUsernameOrUnknown(authenticationRequest)))
                         .build()
         );
@@ -225,8 +226,8 @@ public class AuthenticationManagerImpl
 
     private void logUserAuthenticated(UserDetails userDetails) {
         eventLog.log(
-                IgniteEvents.USER_AUTHENTICATION_SUCCESS.type(),
-                () -> 
IgniteEvents.USER_AUTHENTICATION_SUCCESS.create(EventUser.of(
+                IgniteEventType.USER_AUTHENTICATION_SUCCESS.name(),
+                () -> 
IgniteEventType.USER_AUTHENTICATION_SUCCESS.create(EventUser.of(
                         userDetails.username(), userDetails.providerName()
                 ))
         );
diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
index ad310b728a1..0c39a87125c 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
@@ -41,7 +41,6 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.ignite.InitParametersBuilder;
 import org.apache.ignite.internal.eventlog.api.IgniteEventType;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
 import org.apache.ignite.internal.eventlog.event.EventUser;
 import org.apache.ignite.internal.lang.IgniteStringBuilder;
 import org.apache.ignite.internal.properties.IgniteProductVersion;
@@ -64,7 +63,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 /**
- * Integration tests to check the {@link IgniteEvents#QUERY_STARTED} and 
{@link IgniteEvents#QUERY_FINISHED} events.
+ * Integration tests to check the {@link IgniteEventType#QUERY_STARTED} and 
{@link IgniteEventType#QUERY_FINISHED} events.
  */
 public class ItSqlQueryEventLogTest extends BaseSqlIntegrationTest {
     private static final String UUID_PATTERN = 
"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
index 576f88101a2..6876e05ef2f 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
@@ -21,7 +21,7 @@ import static 
org.apache.ignite.internal.util.ExceptionUtils.unwrapCause;
 
 import java.util.Map;
 import org.apache.ignite.internal.eventlog.api.Event;
-import org.apache.ignite.internal.eventlog.api.IgniteEvents;
+import org.apache.ignite.internal.eventlog.api.IgniteEventType;
 import org.apache.ignite.internal.eventlog.event.EventUser;
 import org.apache.ignite.internal.sql.engine.exec.fsm.QueryInfo;
 import org.apache.ignite.internal.util.IgniteUtils;
@@ -36,20 +36,20 @@ public class QueryEventsFactory {
         this.localNode = localNode;
     }
 
-    /** Creates new {@link IgniteEvents#QUERY_STARTED} event. */
+    /** Creates new {@link IgniteEventType#QUERY_STARTED} event. */
     public Event makeStartEvent(QueryInfo queryInfo, EventUser user) {
         Map<String, Object> fields = IgniteUtils.newLinkedHashMap(7);
 
         fillCommonFields(fields, queryInfo);
 
-        return IgniteEvents.QUERY_STARTED.builder()
+        return IgniteEventType.QUERY_STARTED.builder()
                 .user(user)
                 .timestamp(queryInfo.startTime().toEpochMilli())
                 .fields(fields)
                 .build();
     }
 
-    /** Creates new {@link IgniteEvents#QUERY_FINISHED} event. */
+    /** Creates new {@link IgniteEventType#QUERY_FINISHED} event. */
     public Event makeFinishEvent(QueryInfo queryInfo, EventUser user, long 
finishTime) {
         Map<String, Object> fields = IgniteUtils.newLinkedHashMap(10);
 
@@ -65,7 +65,7 @@ public class QueryEventsFactory {
 
         fields.put(FieldNames.ERROR, error == null ? null : 
unwrapCause(error).getMessage());
 
-        return IgniteEvents.QUERY_FINISHED.builder()
+        return IgniteEventType.QUERY_FINISHED.builder()
                 .user(user)
                 .timestamp(finishTime)
                 .fields(fields)

Reply via email to