Roon swapped out parts of the transmission in our trusty ride with Rust-based full-text searching search index management. * The old search engine may be faster in raw speed but the implementation had serious problems:
The previous implementation had a memory and processing leak that grew over time, accelerating with metadata changes and compounding further with the use of browse views and smart playlists.
This has been a major issue with symptoms reported over and over by many Roon users with no workaround (other than restart), so itās awesome to see a major overhaul!
āJust fix the !&@#*&$ search!ā. Well the long awaited day may have arrived with Tantivy features and speed-ups (if Roon chooses to implement them). Copy/pasting from the Tantivy Github page for future improvements that could end up in Roon:
* Natural query language (e.g. (michael AND jackson) OR āking of popā) * Phrase queries search (e.g. āmichael jacksonā) * Incremental indexing * Multithreaded indexing (indexing English Wikipedia takes < 3 minutes on my desktop) * Mmap directory * SIMD integer compression when the platform/CPU includes the SSE2 instruction set
Memory and processing overhead stay proportional to library size rather than creeping up over time. Initial browsing and maintenance runs are substantially faster, and the system remains usable during maintenance [emphasis mine]. The experience should no longer degrade over time due to edits or upkeep.
This should be a huge sigh of relief for users who have resorted to rebooting Roon every day.
Old and new Roon users should have less fear about blindly throwing $$$$$ at hardware (new computers, beefier cpu, more ram, faster disk, replacing routers, replacing whole house wifi, replacing cables, etc. - sad but true) when the biggest performance barrier has been memory and system starvation.
Network related issues may become less frequent as Roon Server can respond with greater efficiency.
The Roon UI should feel snappier with Roon Server responding quickly.
Iām probably getting too excited too soon as any new change introduces new bugs(especially a system architecture change). But come on, this is major step forward solving real problems.
Canāt wait for folks to share how their audio sounds after this release: holographic, like lifting a veil, lush, bass slam, can hear micro-dynamics. āMy wife came in from the kitchen and noticed the difference.ā
I tried to stand up a new EA docker instance and I just couldnāt get it to work. This was an attempt to create a vanilla instance. I tried multiple times - I think there may be some sort of issue creating a new docker EA vs migrating a production docker to EA.
So I created a new production docker instance, restored from a backup, and then modified the compose to use earlyaccess and redeployed. That worked fine.
Okā¦with that out of the wayā¦
Wow!!! Iām nearly speechless. It had gotten to the point at which Iād given up hope that Roon would be willing to tackle infrastructural issues. This is profound because you not only took a big swing at Search with Tantivy, but you took on Rust interop along the way which opens the door to doing this in other areas as well.
My first impression about this is that the experience is super fast and search is working really well.
Memory is a bit lower (at first glance).
All up, a really exciting release. Thank you and congratulations!!!
@Dadoo - Iām super excited about this release, too! A couple general notes on your stuff above (and it looks like our release notes were a little ambiguous, so weāll get those updated to reflect this too!)
The search changes and the system which had the memory and processing leak were actually independent issues. We swapped out the search because Tantivy offered much more consistent results and a more effective approach to memory as compared to our proprietary index. That said, we still use SymSpell, and we still use cloud search. This change swaps out our old index for Tantivy and paves the way for a number of other future changes and optimizations to the suggestions we pass into the cloud.
While we aimed for parity between the indexes for this at first, this change creates an opportunity for us to improve search results in the future (while this change just focused on improving its speed and memory).
The memory and processing leak was in the heart of the system that managed all your views of your data. We had a leak and other inefficiencies in the area that kept it sorted which prompted us to change out the structural approach and the sorting approach without changing the architectural approach (for now!)
We will edit the release notes to make that less ambiguous! For what its worth, the only reason I wanted to clarify is because the search and the memory issues are NOT related to one another, so if you experience issues with one its unlikely to affect the other!
@Steve_Becker thanks for the details and keeping things real.
This is helpful as Roon is a complex system with many moving parts. Glad for your participation (and the larger Roon team) in continuing to improve Roon and make it a product thatās trusted and enjoyed by many.
On my Nucleus One, Iām on RoonOS 3.0 EA, Roon Server Version 2.67 (build 1661) production, and just tried installing this version to see the differences with Roon Server, and I get the āReinstall failed: exit-40ā message. I can re-start the Nucleus One from the admin page and all goes back to working. I tried a few times and no luck. Getting my remotes (iPhone and Windows laptop) on EA 2.70 worked fine. Just wanted to see the Nucleus One on the same version too. Any suggestions?
I think the problem is that the apps Roon Remote and RoonARC havenāt been updated to 2.70 yet, At least they are not yet available in the Apple or Google Stores. My Core with Windows was updated to 2.70 and after that I noticed very bad behavior and it only gives me the message that something is wrong.
When will Roon ARC be available for Google Android Automotive and Apple CarPlay Ultra? both for in dash infoentertainement OEM Car Audio Systems.
Update:
I tested even with Roon Remote from Windows, itās unresponsive, but the computer is working fine with all other programs; only Roon is malfunctioning and not working at all. This is baffling, please fix it soon!
This is with Windows 11 Home Edition with Intel Optane Core5 in HP Laptop with 24g RAM
And is not working anymore, just made this update and now I can not listen music with Roon,
I practically couldnāt do anything; I couldnāt even listen to music. It was completely unresponsive. Sometimes it only showed the configuration menus, but it didnāt display any of the information from the database, and I couldnāt play music at all.
I had to uninstall my Roon server and download the latest installer, and then the production version installed, and recover the service again with the production version 2.67
Did you sign up for the remote Early Access versions? Beta on the Google Play Store, TestFlight on the Apple App Store. The apps were there for me in TestFlight immediately.
All parts of Roon must be on Early Access or Production, not a mix of versions.
Is also possible you experienced whatās reported here (even with everything EA):
Being on Beta in Google Play Store, I noticed that Roon Remote on my Samsung was updating automatically, while Roon ARC showed “Cannot be installed“ after I pushed it to update. So I am still on ARC 1.77 B405, no issues with accessing the server running Roon 2.70 B1663 whatsoever. Text search seems to be significantly improved via ARC, while via local remote it is kind of the same.
Looks to be a super promising release. I was surprised it didnāt trigger a db rebase. From an untouched state after install, my server on Win11 RoonAppliance service is using a whopping 400-500MB less memory (now idling around 1.4GB). Will be interesting to track this this after a couple of weeks of normal use.
Yes. The release was a real success. I. Saying that though, I didnāt notice any changes. Itās just as fast as always. Maybe a millisecond faster in song retrieval but that might be me hoping and expecting based on other comments. Itās just fast from home to the car. Has anyone experienced any changes with the last release and are there any upcoming changes or bug fixes you hope Roon Labs will resolve for you? Put it here for maximum coverage.
Thanks for confirming the issue. You used the same workaround I described. Itās some sort of installation issue that may or may not be specific to Docker. I assume itās worth investigating.