Closed nvol closed 2 years ago
We have a big problem here: the server is treating the channel name case-sensitive, but the file system is not. Meaning that if we create a directory called "Foo" (because of creating channel "Foo"), then creating channel "foo" and then trying to create directory "foo" would result in "directory already exists".
Since channels translate to directories on disk, I have no other choice than make the server fail a new channel that is "case-insensitive" already present. That is, in the description above, the time an application would try to create channel "foo", it should fail saying that "Foo" already exists. Not sure what will happen if users have already be running into this without knowing that there is really only 1 channel on disk.
didn't you think about making all the channels to be case insensitive?
for example, publishing to channels 'BearD', 'bEaRd' and so on results into creating just one channel and then you could read from any of the variants receiving the all published messages by any of the similar names
it seems that actually all of the messages of all of the similar-named channels are stored in the dat-file, but every individual channel has it's own seq numbering
so we have a problem very similar to the one that was described in issue #1264
subscription 'stops' on the seq-jump (here i mean not only 'seq resetting' but rather 'seq is not growing' case)
in the example above we have the very first message with seq=1, then goes the message with seq=1 again and this is not normal (it's a seq-jump if i may say so)
some strange behavior encountered when tried to use some channels with similar names (like 'boo' and 'Boo')
the experiment was as follows:
so i proceeded:
summary: a) when use similar-named channels, you got only the first msg in this channel, regardless of which channel (used before) you subscribed to b) with the subscription staying alive, you got the msgs exactly from that channel you subscribed to c) each channel has its own seq numbering, despite the fact that everything is put in one folder (folder is named by the first channel name we published to - 'BearD')