Your profile shows a bunch of exceptions while matching on specific reflections. You could enable DEBUG logging to get the stack traces to see if that helps. This is pretty verbose so you only want this on to debug this problem:
<appender name="acceleration" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${dremio.log.path}/acceleration.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${dremio.log.path}/archive/acceleration.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{ISO8601} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.dremio.exec.planner.acceleration" additivity="false">
<level value="debug" />
<appender-ref ref="acceleration" />
</logger>
<logger name="com.dremio.reflection.bup" additivity="false">
<level value="debug" />
<appender-ref ref="acceleration" />
</logger>
<logger name="com.dremio.reflection.ReflectionTracer" additivity="false">
<level value="debug" />
<appender-ref ref="acceleration" />
</logger>
I see three reflections hit the union/join limit. You could try increasing that limit with the support option: reflections.planning.algebraic_match_limit
The location that you setup for the dist storage for reflections shouldn’t affect how the query planner does reflection matching.