Skip to content

Commit

Permalink
Deprecate _type from LeafDocLookup (#37491)
Browse files Browse the repository at this point in the history
* Deprecate _type from LeafDocLookup

* Response to PR comments.

* Response to PR comments.
  • Loading branch information
jdconrad authored Jan 16, 2019
1 parent 0b5af27 commit 3d8c046
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@
*/
package org.elasticsearch.search.lookup;

import org.apache.logging.log4j.LogManager;
import org.apache.lucene.index.LeafReaderContext;
import org.elasticsearch.ExceptionsHelper;
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.logging.DeprecationLogger;
import org.elasticsearch.index.fielddata.IndexFieldData;
import org.elasticsearch.index.fielddata.ScriptDocValues;
import org.elasticsearch.index.mapper.MappedFieldType;
Expand All @@ -38,6 +40,12 @@

public class LeafDocLookup implements Map<String, ScriptDocValues<?>> {

private static final DeprecationLogger DEPRECATION_LOGGER
= new DeprecationLogger(LogManager.getLogger(LeafDocLookup.class));
static final String TYPES_DEPRECATION_KEY = "type-field-doc-lookup";
static final String TYPES_DEPRECATION_MESSAGE =
"[types removal] Looking up doc types in scripts is deprecated.";

private final Map<String, ScriptDocValues<?>> localCacheFieldData = new HashMap<>(4);

private final MapperService mapperService;
Expand Down Expand Up @@ -72,6 +80,10 @@ public void setDocument(int docId) {

@Override
public ScriptDocValues<?> get(Object key) {
// deprecate _type
if ("_type".equals(key)) {
DEPRECATION_LOGGER.deprecatedAndMaybeLog(TYPES_DEPRECATION_KEY, TYPES_DEPRECATION_MESSAGE);
}
// assume its a string...
String fieldName = key.toString();
ScriptDocValues<?> scriptValues = localCacheFieldData.get(fieldName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.elasticsearch.test.ESTestCase;
import org.junit.Before;

import static org.elasticsearch.search.lookup.LeafDocLookup.TYPES_DEPRECATION_MESSAGE;
import static org.mockito.AdditionalAnswers.returnsFirstArg;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.doReturn;
Expand All @@ -45,6 +46,7 @@ public void setUp() throws Exception {
when(fieldType.valueForDisplay(anyObject())).then(returnsFirstArg());

MapperService mapperService = mock(MapperService.class);
when(mapperService.fullName("_type")).thenReturn(fieldType);
when(mapperService.fullName("field")).thenReturn(fieldType);
when(mapperService.fullName("alias")).thenReturn(fieldType);

Expand Down Expand Up @@ -72,4 +74,10 @@ public void testLookupWithFieldAlias() {
ScriptDocValues<?> fetchedDocValues = docLookup.get("alias");
assertEquals(docValues, fetchedDocValues);
}

public void testTypesDeprecation() {
ScriptDocValues<?> fetchedDocValues = docLookup.get("_type");
assertEquals(docValues, fetchedDocValues);
assertWarnings(TYPES_DEPRECATION_MESSAGE);
}
}

0 comments on commit 3d8c046

Please sign in to comment.