Algorithm broken in WildcardAddressManager
timfox Jan 5, 2009 4:56 AMIf you try and add a binding with an address, you find as you increase the number of dots in the address the algorithm takes factorially (!! I believe) longer and longer to run.
With just a few dots a.b.c.d.e.f it takes a second to run, a few more, minutes, and with not that many dots it never returns and eventually OOMs.
The problem seems to be in the algorithm, it seems to add a something in the map for *every* combination, e.g. for the address "a.b.c.d.e.f.g.h.i", it generates the following permutations (I'm only showing a fraction of the total number)
add part 3 main 09:46:09,878 INFO [WildcardAddressManager] Add part a main 09:46:09,880 INFO [WildcardAddressManager] Add part * main 09:46:09,880 INFO [WildcardAddressManager] Add part # add part 9 main 09:46:09,880 INFO [WildcardAddressManager] Add part a.* main 09:46:09,880 INFO [WildcardAddressManager] Add part a.# main 09:46:09,880 INFO [WildcardAddressManager] Add part a.b main 09:46:09,880 INFO [WildcardAddressManager] Add part *.* main 09:46:09,881 INFO [WildcardAddressManager] Add part *.# main 09:46:09,881 INFO [WildcardAddressManager] Add part *.b main 09:46:09,881 INFO [WildcardAddressManager] Add part #.* main 09:46:09,887 INFO [WildcardAddressManager] Add part #.# main 09:46:09,887 INFO [WildcardAddressManager] Add part #.b add part 27 main 09:46:09,888 INFO [WildcardAddressManager] Add part a.*.* main 09:46:09,888 INFO [WildcardAddressManager] Add part a.*.# main 09:46:09,888 INFO [WildcardAddressManager] Add part a.*.c main 09:46:09,889 INFO [WildcardAddressManager] Add part a.#.* main 09:46:09,889 INFO [WildcardAddressManager] Add part a.#.# main 09:46:09,889 INFO [WildcardAddressManager] Add part a.#.c main 09:46:09,889 INFO [WildcardAddressManager] Add part a.b.* main 09:46:09,889 INFO [WildcardAddressManager] Add part a.b.# main 09:46:09,889 INFO [WildcardAddressManager] Add part a.b.c main 09:46:09,889 INFO [WildcardAddressManager] Add part *.*.* main 09:46:09,889 INFO [WildcardAddressManager] Add part *.*.# main 09:46:09,890 INFO [WildcardAddressManager] Add part *.*.c main 09:46:09,890 INFO [WildcardAddressManager] Add part *.#.* main 09:46:09,890 INFO [WildcardAddressManager] Add part *.#.# main 09:46:09,890 INFO [WildcardAddressManager] Add part *.#.c main 09:46:09,890 INFO [WildcardAddressManager] Add part *.b.* main 09:46:09,890 INFO [WildcardAddressManager] Add part *.b.# main 09:46:09,890 INFO [WildcardAddressManager] Add part *.b.c main 09:46:09,890 INFO [WildcardAddressManager] Add part #.*.* main 09:46:09,890 INFO [WildcardAddressManager] Add part #.*.# main 09:46:09,890 INFO [WildcardAddressManager] Add part #.*.c main 09:46:09,891 INFO [WildcardAddressManager] Add part #.#.* main 09:46:09,891 INFO [WildcardAddressManager] Add part #.#.# main 09:46:09,891 INFO [WildcardAddressManager] Add part #.#.c main 09:46:09,891 INFO [WildcardAddressManager] Add part #.b.* main 09:46:09,891 INFO [WildcardAddressManager] Add part #.b.# main 09:46:09,891 INFO [WildcardAddressManager] Add part #.b.c add part 81 main 09:46:09,891 INFO [WildcardAddressManager] Add part a.*.*.* main 09:46:09,891 INFO [WildcardAddressManager] Add part a.*.*.# main 09:46:09,891 INFO [WildcardAddressManager] Add part a.*.*.d main 09:46:09,892 INFO [WildcardAddressManager] Add part a.*.#.* main 09:46:09,892 INFO [WildcardAddressManager] Add part a.*.#.# main 09:46:09,892 INFO [WildcardAddressManager] Add part a.*.#.d main 09:46:09,892 INFO [WildcardAddressManager] Add part a.*.c.* main 09:46:09,892 INFO [WildcardAddressManager] Add part a.*.c.# main 09:46:09,892 INFO [WildcardAddressManager] Add part a.*.c.d main 09:46:09,892 INFO [WildcardAddressManager] Add part a.#.*.* main 09:46:09,892 INFO [WildcardAddressManager] Add part a.#.*.# main 09:46:09,892 INFO [WildcardAddressManager] Add part a.#.*.d main 09:46:09,892 INFO [WildcardAddressManager] Add part a.#.#.* main 09:46:09,893 INFO [WildcardAddressManager] Add part a.#.#.# main 09:46:09,893 INFO [WildcardAddressManager] Add part a.#.#.d main 09:46:09,893 INFO [WildcardAddressManager] Add part a.#.c.* main 09:46:09,893 INFO [WildcardAddressManager] Add part a.#.c.# main 09:46:09,893 INFO [WildcardAddressManager] Add part a.#.c.d main 09:46:09,893 INFO [WildcardAddressManager] Add part a.b.*.* main 09:46:09,893 INFO [WildcardAddressManager] Add part a.b.*.# main 09:46:09,893 INFO [WildcardAddressManager] Add part a.b.*.d main 09:46:09,893 INFO [WildcardAddressManager] Add part a.b.#.* main 09:46:09,894 INFO [WildcardAddressManager] Add part a.b.#.# main 09:46:09,894 INFO [WildcardAddressManager] Add part a.b.#.d main 09:46:09,894 INFO [WildcardAddressManager] Add part a.b.c.* main 09:46:09,894 INFO [WildcardAddressManager] Add part a.b.c.# main 09:46:09,894 INFO [WildcardAddressManager] Add part a.b.c.d main 09:46:09,894 INFO [WildcardAddressManager] Add part *.*.*.* main 09:46:09,894 INFO [WildcardAddressManager] Add part *.*.*.# main 09:46:09,894 INFO [WildcardAddressManager] Add part *.*.*.d main 09:46:09,894 INFO [WildcardAddressManager] Add part *.*.#.* main 09:46:09,894 INFO [WildcardAddressManager] Add part *.*.#.# main 09:46:09,895 INFO [WildcardAddressManager] Add part *.*.#.d main 09:46:09,895 INFO [WildcardAddressManager] Add part *.*.c.* main 09:46:09,895 INFO [WildcardAddressManager] Add part *.*.c.# main 09:46:09,895 INFO [WildcardAddressManager] Add part *.*.c.d main 09:46:09,895 INFO [WildcardAddressManager] Add part *.#.*.* main 09:46:09,895 INFO [WildcardAddressManager] Add part *.#.*.# main 09:46:09,895 INFO [WildcardAddressManager] Add part *.#.*.d main 09:46:09,895 INFO [WildcardAddressManager] Add part *.#.#.* main 09:46:09,895 INFO [WildcardAddressManager] Add part *.#.#.# main 09:46:09,895 INFO [WildcardAddressManager] Add part *.#.#.d main 09:46:09,896 INFO [WildcardAddressManager] Add part *.#.c.* main 09:46:09,896 INFO [WildcardAddressManager] Add part *.#.c.# main 09:46:09,896 INFO [WildcardAddressManager] Add part *.#.c.d main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.*.* main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.*.# main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.*.d main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.#.* main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.#.# main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.#.d main 09:46:09,896 INFO [WildcardAddressManager] Add part *.b.c.* main 09:46:09,897 INFO [WildcardAddressManager] Add part *.b.c.# main 09:46:09,897 INFO [WildcardAddressManager] Add part *.b.c.d main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.*.* main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.*.# main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.*.d main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.#.* main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.#.# main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.#.d main 09:46:09,897 INFO [WildcardAddressManager] Add part #.*.c.* main 09:46:09,898 INFO [WildcardAddressManager] Add part #.*.c.# main 09:46:09,898 INFO [WildcardAddressManager] Add part #.*.c.d main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.*.* main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.*.# main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.*.d main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.#.* main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.#.# main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.#.d main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.c.* main 09:46:09,898 INFO [WildcardAddressManager] Add part #.#.c.# main 09:46:09,899 INFO [WildcardAddressManager] Add part #.#.c.d main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.*.* main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.*.# main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.*.d main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.#.* main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.#.# main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.#.d main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.c.* main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.c.# main 09:46:09,899 INFO [WildcardAddressManager] Add part #.b.c.d add part 243 main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.*.* main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.*.# main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.*.e main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.#.* main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.#.# main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.#.e main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.d.* main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.d.# main 09:46:09,900 INFO [WildcardAddressManager] Add part a.*.*.d.e main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.*.* main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.*.# main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.*.e main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.#.* main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.#.# main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.#.e main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.d.* main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.d.# main 09:46:09,901 INFO [WildcardAddressManager] Add part a.*.#.d.e main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.*.* main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.*.# main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.*.e main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.#.* main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.#.# main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.#.e main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.d.* main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.d.# main 09:46:09,902 INFO [WildcardAddressManager] Add part a.*.c.d.e main 09:46:09,902 INFO [WildcardAddressManager] Add part a.#.*.*.* main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.*.# main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.*.e main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.#.* main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.#.# main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.#.e main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.d.* main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.d.# main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.*.d.e main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.#.*.* main 09:46:09,903 INFO [WildcardAddressManager] Add part a.#.#.*.# main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.*.e main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.#.* main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.#.# main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.#.e main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.d.* main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.d.# main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.#.d.e main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.c.*.* main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.c.*.# main 09:46:09,904 INFO [WildcardAddressManager] Add part a.#.c.*.e main 09:46:09,905 INFO [WildcardAddressManager] Add part a.#.c.#.* main 09:46:09,905 INFO [WildcardAddressManager] Add part a.#.c.#.# main 09:46:09,905 INFO [WildcardAddressManager] Add part a.#.c.#.e main 09:46:09,905 INFO [WildcardAddressManager] Add part a.#.c.d.* main 09:46:09,905 INFO [WildcardAddressManager] Add part a.#.c.d.# main 09:46:09,905 INFO [WildcardAddressManager] Add part a.#.c.d.e main 09:46:09,905 INFO [WildcardAddressManager] Add part a.b.*.*.* main 09:46:09,905 INFO [WildcardAddressManager] Add part a.b.*.*.# main 09:46:09,905 INFO [WildcardAddressManager] Add part a.b.*.*.e main 09:46:09,905 INFO [WildcardAddressManager] Add part a.b.*.#.* main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.*.#.# main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.*.#.e main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.*.d.* main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.*.d.# main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.*.d.e main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.#.*.* main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.#.*.# main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.#.*.e main 09:46:09,906 INFO [WildcardAddressManager] Add part a.b.#.#.* main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.#.#.# main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.#.#.e main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.#.d.* main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.#.d.# main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.#.d.e main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.c.*.* main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.c.*.# main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.c.*.e main 09:46:09,907 INFO [WildcardAddressManager] Add part a.b.c.#.* main 09:46:09,908 INFO [WildcardAddressManager] Add part a.b.c.#.# main 09:46:09,908 INFO [WildcardAddressManager] Add part a.b.c.#.e main 09:46:09,908 INFO [WildcardAddressManager] Add part a.b.c.d.* main 09:46:09,908 INFO [WildcardAddressManager] Add part a.b.c.d.# main 09:46:09,908 INFO [WildcardAddressManager] Add part a.b.c.d.e main 09:46:09,908 INFO [WildcardAddressManager] Add part *.*.*.*.* main 09:46:09,908 INFO [WildcardAddressManager] Add part *.*.*.*.# main 09:46:09,908 INFO [WildcardAddressManager] Add part *.*.*.*.e main 09:46:09,908 INFO [WildcardAddressManager] Add part *.*.*.#.* main 09:46:09,908 INFO [WildcardAddressManager] Add part *.*.*.#.# main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.*.#.e main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.*.d.* main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.*.d.# main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.*.d.e main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.#.*.* main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.#.*.# main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.#.*.e main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.#.#.* main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.#.#.# main 09:46:09,909 INFO [WildcardAddressManager] Add part *.*.#.#.e main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.#.d.* main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.#.d.# main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.#.d.e main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.*.* main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.*.# main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.*.e main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.#.* main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.#.# main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.#.e main 09:46:09,910 INFO [WildcardAddressManager] Add part *.*.c.d.* main 09:46:09,911 INFO [WildcardAddressManager] Add part *.*.c.d.# main 09:46:09,911 INFO [WildcardAddressManager] Add part *.*.c.d.e main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.*.* main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.*.# main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.*.e main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.#.* main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.#.# main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.#.e main 09:46:09,911 INFO [WildcardAddressManager] Add part *.#.*.d.* main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.*.d.# main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.*.d.e main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.*.* main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.*.# main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.*.e main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.#.* main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.#.# main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.#.e main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.d.* main 09:46:09,912 INFO [WildcardAddressManager] Add part *.#.#.d.# main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.#.d.e main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.*.* main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.*.# main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.*.e main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.#.* main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.#.# main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.#.e main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.d.* main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.d.# main 09:46:09,913 INFO [WildcardAddressManager] Add part *.#.c.d.e main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.*.* main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.*.# main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.*.e main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.#.* main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.#.# main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.#.e main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.d.* main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.d.# main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.*.d.e main 09:46:09,914 INFO [WildcardAddressManager] Add part *.b.#.*.* main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.*.# main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.*.e main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.#.* main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.#.# main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.#.e main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.d.* main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.d.# main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.#.d.e main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.c.*.* main 09:46:09,915 INFO [WildcardAddressManager] Add part *.b.c.*.# main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.*.e main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.#.* main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.#.# main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.#.e main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.d.* main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.d.# main 09:46:09,916 INFO [WildcardAddressManager] Add part *.b.c.d.e main 09:46:09,916 INFO [WildcardAddressManager] Add part #.*.*.*.* main 09:46:09,916 INFO [WildcardAddressManager] Add part #.*.*.*.# main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.*.e main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.#.* main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.#.# main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.#.e main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.d.* main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.d.# main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.*.d.e main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.#.*.* main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.#.*.# main 09:46:09,917 INFO [WildcardAddressManager] Add part #.*.#.*.e main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.#.#.* main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.#.#.# main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.#.#.e main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.#.d.* main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.#.d.# main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.#.d.e main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.c.*.* main 09:46:09,918 INFO [WildcardAddressManager] Add part #.*.c.*.#
IIRC senior school maths, the number of permutations is proportional to the factorial of the number of dots, so clearly this algorithm is not going to work in the real world where we have finite CPU and memory.
The current implementation needs rethinking.