Good and bad server results

I opened and shared a subset of some client files in b10.2 and I was surprised.

The good: I was relieved that searches in a matrix object were just about as fast as with Enterprise, which was huge because they were slow as molasses in single user mode in 10.1. Also I was pleased that the files converted very quickly. A rather complex file with 15,000 records was shared in about 10 seconds. I was able to make an invoice from the client file, add products and print multiple pages with a VERY complicated print process.

The bad: I only did it once, then I couldn’t add a record in any shared database whether procedurally or with several manual methods. I closed the files and upon reopening, I was told two of the three files could not connect to the server as it was not available. It was available to one of them so I’m not sure what the other two didn’t like. I tried to stop the server but the one file was still connected so I cancelled the request. After that, they both connected again manually. I was able to add several records from the customer file but then, Panorama crashed. Upon reopening, two of the files connected and one said it could not connect to the server. Again, I had to connect it manually.

I have a lot of testing to do, but I should hope that the servers would connect reliably when opening or this could get quite tedious. This is on a local network with one client, so far. Eventually, it will need to support about a dozen clients from offices all over the country.

I’m not complaining, just sayin.

I don’t know what “connect manually” means.

File menu - Connect to Server

That’s really odd since the connection code is the same either way. Not duplicate code, literally the same code.

What was the exact error message saying that the server was not available?

The message is:

Server Error
Could not connect to Acacia Panorama X Server

When I launched a file this morning, I got the message again but going to File-Connect to Server connected it.

Hi Jeff, I am the beta tester who has been running 10.2 for several months in an office with several users. I am glad there are others also testing the server performance. I have a series of things I would check when server/client issues occur.

In PanX Preferences/Server on the server computer, is the server running? Stopping and starting is an option here.

In System Administrator, is the database online? Are there any locked records? Are there any “phantom users” showing, that is, users who have closed the database but the server still shows them as connected. (You can terminate a session for a user, but that closes all the databases that there person is or was using; that could be problem is someone were still trying to use the database.) (Jim has made several improvements to guard against stranded locked records and phantom users; if a user crashes, the database should reconnect upon re-opening the database and the server will recognize the computer that had locked the record then crashed.)

Just recently I discovered the server error/event logs that are enabled and appear in the ~/Library/Application Support/PanoramaX/Server/Logs folder. That might reveal some information about what has occurred.

I don’t know if my steps will reveal a solution, and may be useless, but it gives me something to try.

I (meaning me or one of the other beta testers) have had, and sometimes still occasionally have, crashes associated with adding records. These have typically come in strings: when one occurs, the procedure just keeps failing. This has frequently resulted in empty rows of data and locked records. So I have a procedure to remove empty rows and unlock all records before trying again. (I have been considering nominating myself for the Nobel Peace Prize for the amount of time I have spent trying to stop crashes during procedures that add records.)

I hope someone smarter than I finds some solutions.

Hi Tom,

Right now I am keeping it as simple as possible; one server, one client.

Yes, the server is running when this occurs. As I have stated, if I launch a file sometimes it connects, sometime it throws an error. If I use “connect to server” it connects. There are no records locked as I am just opening the files from one client. This happens with a single file but if I open a file that opens other files from the .initialize procedure, they all take turns connecting or not upon opening. I have yet to see all three open and connect. There are actually 15 files used in this solution so I’m starting with the most basic files. As I said previously, I tried to start and stop the server but I cancelled it as one of the files was connected. After that, I could connect the others using Connect to Server.

I too have had problems when adding records. When starting to create an invoice from a customer file, the customer info is loaded into a dictionary, then the invoice file is made active, a record is added and the customer info is dumped to the invoice. Panorama occasionally hangs at adding the record and I lose the ability to add records to the Customer or Invoice file using any method. I have to restart the Panorama client and start over again.

I appreciate your suggestions but I have been using Enterprise since day one (Butler too) with lots of clients accessing many files remotely. I have pretty good server troubleshooting skills. Hopefully we can help each other.

I would love to hear ideas and strategies you come up with.

I have not seen this issue in a long time; many months and beta releases ago, I had some issues connecting when opening a DB. To work around that, I put some code at the end of the .Initialize procedure. It would check to see if the server were connected and, if not, try to connect it. If that failed, it put up an alert for the user. I may have put that in a timer, so it would check a few seconds later to give it time to finish any connection.

You can also open files with the Aux databases settings. I am pretty sure that the Aux DBs are not opened until the .Initialize procedure finishes. And you have the option of opening them without windows. I wonder if that is an option for you to try. At one time with an earlier beta release, there was a problem if I tried to open more than one DB with Aux settings, but I think that has been fixed.

I have tried adding zlog statements to try to pin down exactly where the issue arises. My procedure is similar in some ways: a record is added, the there is a series of assignments to fill in the values for several fields. When the failure occurs, PanX crashes; upon restart, I am left with an empty record. I don’t really trust that this method works; if I put a zlog statement at every step, does that really tell me how far the procedure got before stopping? I think that the procedure might be much further along and the zlog posting lags behind. (I like the idea of using a dictionary; I may try that at some point.)(I am not even sure that zlog statements themselves don’t cause a problem.)

Studying the run loop Help page has given me ideas about things to try; I still wonder if there are issues about code getting tangled up. I carefully avoid any screen actions or saves during this procedure. I have no computer science or programming training, so my knowledge is limited here.

Aux databases is a good idea and it may work but I do a lot to those extra databases in the initialize procedure. I guess I could open them, then run a second procedure, but I would hope something as basic as opening a file and expecting it to connect should work reliably.

More good. I have been testing this morning and all three files are connecting and records are being added perfectly. I have opened and added records at least a dozen times off and on.

I found out something about my new MacBook Air. I have the server installed on it. When the display goes black, so does the server. “Put hard disks to sleep when possible” is not checked. “Prevent computer from sleeping automatically when the display is off” is checked. For some reason, these system preference assignments do not appear to prevent the MacBook Air from sleeping when the display turns off. This still doesn’t explain why some files would connect and others wouldn’t, but so far if the display is on, files are connecting today.

Shouldn’t the system keep running when the display goes to sleep?