@@ -279,6 +279,53 @@ public void testFieldTypeWithDocValuesSkipper_LogsDBMode() throws IOException {
279279 }
280280 }
281281
282+ public void testFieldTypeWithDocValuesSkipper_LogsDBModeNoTimestampMapping () throws IOException {
283+ final Settings settings = Settings .builder ()
284+ .put (IndexSettings .MODE .getKey (), IndexMode .LOGSDB .name ())
285+ .put (IndexSortConfig .INDEX_SORT_FIELD_SETTING .getKey (), DataStreamTimestampFieldMapper .DEFAULT_PATH )
286+ .build ();
287+ final MapperService mapperService = createMapperService (settings , timestampMapping (true , b -> {}));
288+
289+ final DateFieldMapper timestampMapper = (DateFieldMapper ) mapperService .documentMapper ()
290+ .mappers ()
291+ .getMapper (DataStreamTimestampFieldMapper .DEFAULT_PATH );
292+ assertTrue (timestampMapper .fieldType ().hasDocValues ());
293+ if (IndexSettings .USE_DOC_VALUES_SKIPPER .get (settings )) {
294+ assertFalse (timestampMapper .fieldType ().isIndexed ());
295+ assertTrue (timestampMapper .fieldType ().hasDocValuesSkipper ());
296+ } else {
297+ assertTrue (timestampMapper .fieldType ().isIndexed ());
298+ assertFalse (timestampMapper .fieldType ().hasDocValuesSkipper ());
299+ }
300+ }
301+
302+ public void testFieldTypeWithDocValuesSkipper_LogsDBModeTimestampDateNanos () throws IOException {
303+ final Settings settings = Settings .builder ()
304+ .put (IndexSettings .MODE .getKey (), IndexMode .LOGSDB .name ())
305+ .put (IndexSortConfig .INDEX_SORT_FIELD_SETTING .getKey (), DataStreamTimestampFieldMapper .DEFAULT_PATH )
306+ .build ();
307+ final MapperService mapperService = withMapping (
308+ new TestMapperServiceBuilder ().settings (settings ).applyDefaultMapping (false ).build (),
309+ timestampMapping (true , b -> {
310+ b .startObject (DataStreamTimestampFieldMapper .DEFAULT_PATH );
311+ b .field ("type" , "date_nanos" );
312+ b .endObject ();
313+ })
314+ );
315+
316+ final DateFieldMapper timestampMapper = (DateFieldMapper ) mapperService .documentMapper ()
317+ .mappers ()
318+ .getMapper (DataStreamTimestampFieldMapper .DEFAULT_PATH );
319+ assertTrue (timestampMapper .fieldType ().hasDocValues ());
320+ if (IndexSettings .USE_DOC_VALUES_SKIPPER .get (settings )) {
321+ assertFalse (timestampMapper .fieldType ().isIndexed ());
322+ assertTrue (timestampMapper .fieldType ().hasDocValuesSkipper ());
323+ } else {
324+ assertTrue (timestampMapper .fieldType ().isIndexed ());
325+ assertFalse (timestampMapper .fieldType ().hasDocValuesSkipper ());
326+ }
327+ }
328+
282329 public void testFieldTypeWithDocValuesSkipper_LogsDBModeExplicitTimestampIndexEnabledDocValuesSkipper () throws IOException {
283330 final Settings settings = Settings .builder ()
284331 .put (IndexSettings .MODE .getKey (), IndexMode .LOGSDB .name ())
0 commit comments