Clickhouse version 21.10.6.2,21.10.5.3 and lower:
```
CREATE TABLE repro (
`id` UInt64,
`version` UInt16,
`conversations.id` Array(UInt64),
`conversations.routings.id` Array(Array(UInt64))
)
ENGINE = ReplacingMergeTree(version)
ORDER BY (id)
SETTINGS min_bytes_for_wide_part = 0, min_rows_for_wide_part = 0;

INSERT INTO repro (`id`, `version`, `conversations.id`, `conversations.routings.id`)
VALUES (1, 1, [1], [[1]]);

select * from repro;

┌─id─┬─version─┬─conversations.id─┬─conversations.routings.id─┐
│  1 │       1 │ [1]              │ [[1]]                     │
└────┴─────────┴──────────────────┴───────────────────────────┘

```
CH version: 21.11.2.2 and upper:

```
CREATE TABLE repro (
`id` UInt64,
`version` UInt16,
`conversations.id` Array(UInt64),
`conversations.routings.id` Array(Array(UInt64))
)
ENGINE = ReplacingMergeTree(version)
ORDER BY (id)
SETTINGS min_bytes_for_wide_part = 0, min_rows_for_wide_part = 0;

INSERT INTO repro (`id`, `version`, `conversations.id`, `conversations.routings.id`)
VALUES (1, 1, [1], [[1]]);

select * from repro;

Received exception from server (version 21.11.2):                        <------------- unexpected, it should have results.
Code: 44. DB::Exception: Received from localhost:9000. DB::Exception: There is no subcolumn routings.id in type Nested(id UInt64, `routings.id` Array(UInt64)): While executing MergeTreeInOrder. (ILLEGAL_COLUMN)

```

**Unexpected Behaviour:**
It should not have an exception in the select query.



ColumnPtr & column,
    size_t limit,
    DeserializeBinaryBulkSettings & settings,
    DeserializeBinaryBulkStatePtr & ,
    SubstreamsCache * cache) const
{
    auto cached_column = getFromSubstreamsCache(cache, settings.path);
    if (cached_column)
    {
        column = cached_column;
    }
    else if (ReadBuffer * stream = settings.getter(settings.path))
    {
        auto mutable_column = column->assumeMutable();
        deserializeBinaryBulk(*mutable_column, *stream, limit, settings.avg_value_size_hint);
        column = std::move(mutable_column);
        addToSubstreamsCache(cache, settings.path, column);
    }
}
namespace
{
using SubstreamIterator = ISerialization::SubstreamPath::const_iterator;
String getNameForSubstreamPath(
    String stream_name,
    SubstreamIterator begin,
    SubstreamIterator end,
    bool escape_tuple_delimiter)
{
    using Substream = ISerialization::Substream;
    size_t array_level = 0;