I was hitting this exception with `from * | limit 10` with the security rally track.

```
java.lang.IllegalArgumentException: Unknown writeable [org.elasticsearch.xpack.ql.type.EsField][InvalidMappedField]
	at org.elasticsearch.xpack.esql.io.stream.PlanNameRegistry.throwOnUnknownWritable(PlanNameRegistry.java:252) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanNameRegistry.getWriter(PlanNameRegistry.java:217) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanNameRegistry.getWriter(PlanNameRegistry.java:232) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanStreamOutput.writeNamed(PlanStreamOutput.java:76) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanNamedTypes.writeFieldAttribute(PlanNamedTypes.java:793) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanStreamOutput.writeNamed(PlanStreamOutput.java:78) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanStreamOutput.writeAttribute(PlanStreamOutput.java:61) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanNameRegistry$PlanWriter.write(PlanNameRegistry.java:46) ~[?:?]
	at org.elasticsearch.common.io.stream.StreamOutput.writeCollection(StreamOutput.java:1060) ~[elasticsearch-8.11.0-SNAPSHOT.jar:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanNamedTypes.writeAttributes(PlanNamedTypes.java:764) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanNamedTypes.writeExchangeSinkExec(PlanNamedTypes.java:485) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanStreamOutput.writeNamed(PlanStreamOutput.java:78) ~[?:?]
	at org.elasticsearch.xpack.esql.io.stream.PlanStreamOutput.writePhysicalPlanNode(PlanStreamOutput.java:49) ~[?:?]
	at org.elasticsearch.xpack.esql.plugin.DataNodeRequest.writeTo(DataNodeRequest.java:72) ~[?:?]
```
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/io/stream/PlanNamedTypes.java
entry(name(Abs.class), Abs::new),
        entry(name(Acos.class), Acos::new),
        entry(name(Asin.class), Asin::new),
        entry(name(Atan.class), Atan::new),
        entry(name(Ceil.class), Ceil::new),
        entry(name(Cos.class), Cos::new),
        entry(name(Cosh.class), Cosh::new),
        entry(name(Floor.class), Floor::new),
        entry(name(IsFinite.class), IsFinite::new),
        entry(name(IsInfinite.class), IsInfinite::new),
        entry(name(IsNaN.class), IsNaN::new),
        entry(name(Length.class), Length::new),
        entry(name(Log10.class), Log10::new),
        entry(name(LTrim.class), LTrim::new),
        entry(name(RTrim.class), RTrim::new),
        entry(name(Neg.class), Neg::new),
        entry(name(Sin.class), Sin::new),
        entry(name(Sinh.class), Sinh::new),
        entry(name(Sqrt.class), Sqrt::new),
        entry(name(Tan.class), Tan::new),
        entry(name(Tanh.class), Tanh::new),
        entry(name(ToBoolean.class), ToBoolean::new),
        entry(name(ToDatetime.class), ToDatetime::new),
        entry(name(ToDegrees.class), ToDegrees::new),
        entry(name(ToDouble.class), ToDouble::new),
        entry(name(ToIP.class), ToIP::new),
        entry(name(ToInteger.class), ToInteger::new),
        entry(name(ToLong.class), ToLong::new),
        entry(name(ToRadians.class), ToRadians::new),
        entry(name(ToString.class), ToString::new),