string type length may set to -1 when create TypeDescriptor from thrift or protobuf, this will cause check limit overflow
year()