Recital

Login Register
A good article describing the configuration of samba for file/record locking can be found here.

Basically you must add these directives to the smb.conf file:

[data] 
oplocks = False 
level2 oplocks = False

The default oplock type is Level1. Level2 oplocks are enabled on a per-share basis in the smb.conf file. Alternately, you could disable oplocks on a per-file basis within the share: 

veto oplock files = /*.dbf/*.DBF/*.ndx/*.NDX/*.dbx/*.DBX/*.dbt/*.DBT/

You can further tune samba by following this guide.

If you specify the Common Internet File System (CIFS) when you mount the samba share then you must specify the following options
mount -t cifs {mount-point} -o username=name,pass=pass,directio
The directio option is used to not do inode data caching on files opened on this mount. This precludes mmaping files on this mount. In some cases with fast networks and little or no caching benefits on the client (e.g. when the application is doing large sequential reads bigger than page size without rereading the same data) this can provide better performance than the default behavior which caches reads (readahead) and writes (writebehind) through the local Linux client pagecache if oplock (caching token) is granted and held. Note that direct allows write operations larger than page size to be sent to the server.

If you get the following error when trying to mount the {mount-point}
Apr 22 16:57:39 bailey kernel: Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
Apr 22 16:57:39 bailey kernel:  CIFS VFS: Send error in SessSetup = -13
Apr 22 16:57:39 bailey kernel:  CIFS VFS: cifs_mount failed w/return code = -13
The you need to create the Samba user specified on the mount command
smbpasswd -a username
FYI - Make sure you umount all the Samba {mount-point(s)} before shutting down Samba.
Published in Blogs
Read more...

If you are running your Redhat/Centos or Fedora machine in an enterprise environment you may be sitting behind a network proxy server like squid.

If you try and update or install software it will fail with timeouts or errors contacting the repository mirrors.

To configure YUM to work with your proxy server you need to add the following line to your /etc/yum.conf file.

Anonymous proxy configuration:
proxy=http://yourproxyip:port/

If your proxy server requires authentication add the following lines to your /etc/yum.conf file instead.

proxy=http://yourproxyip:port/
proxy_username=youruser
proxy_password=yourpassword

 You will be able to update and install software now, give it a go!

Published in Blogs
Read more...

Many motherboards nowadays have integrated gigabit ethernet that use the Realtek NIC chipset.

The Realtek r8168B network card does not work out of the box in Redhat/Centos 5.3: instead of loading the r8168 driver, modprobe loads the r8169 driver, which is broken as can be seen with ifconfig which shows large amounts of dropped packets. A solution is to download the r8168 driver from the Realtek website and install it using the following steps:

Check whether the built-in driver, r8169.ko (or r8169.o for kernel 2.4.x), is installed.

# lsmod | grep r8169

If it is installed remove it.

# rmmod r8169

Download the R8168B linux driver from here into /root.

Unpack the tarball :

# cd /root
# tar vjxf r8168-8.012.00.tar.bz2

Change to the directory:

# cd r8168-8.012.00

If you are running the target kernel, then you should be able to do :

# make clean modules   
# make install
# depmod -a
# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)

make sure modprobe knows not to use r8169, and that depmod doesn’t find the r8169 module.

# echo "blacklist r8169" >> /etc/modprobe.d/blacklist
# mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko   \ /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko.bak

You can check whether the driver is loaded by using the following commands.

# lsmod | grep r8168
# ifconfig -a

If there is a device name, ethX, shown on the monitor, the linux driver is loaded. Then, you can use the following command to activate it.

# ifconfig ethX up

After this you should not see any more dropped packets reported.

Published in Blogs
Read more...
The SET RELATION Recital Navigational Data Command can be used to link two (or more) tables based on the master index key of the child table.  With a relation active, as you move through the parent table, the record pointer also moves in the child table, automatically selecting the first related record or moving to the end of file if no related record exists.    

open database southwind
// open child table
use order_details order orderid in 0
// open parent table
use orders order orderid in 0
set relation to orderid into order_details
do while not eof()
? orders.orderid, order_details.productid
skip
enddo

The code above will display the productid from the first related record, but you will often want to display information from all the related records in the child or detail table as in an SQL Left Outer Join.

open database southwind
select orders.orderid, order_details.productid;
from orders left outer join order_details;
on orders.orderid = order_details.orderid

In this case, we can use a second nested DO WHILE loop, for example:

open database southwind
use order_details order orderid in 0
use orders order orderid in 0
set relation to orderid into order_details
do while not eof()
// Display first or 0 child record
? orders.orderid, order_details.productid
// Display any additional child records
do while not eof(order_details)
? orders.orderid, order_details.productid
skip in order_details
enddo
skip
enddo

Or we can use the SET SKIP command.  The SET SKIP command can be used with DISPLAY, LIST and REPORT and automatically skips through all the related records in the child table.

open database southwind
use order_details order orderid in 0
use orders order orderid in 0
set relation to orderid into order_details
set skip on
set skip to order_details
list orders.orderid, order_details.productid

LIST and DISPLAY offer a number of keyword options to allow you to configure the display output.  REPORT offers full column based report design.
Published in Blogs
Read more...

We are pleased to announce the immediate availability of Recital 10.0.1.

Included in this version are:

  • Improved SQL query optimizer
  • *New* apache plugin for building Recital web apps on x86_64 (mod_recital64.so)
  • Performance improvements in connections to Recital Server and Recital Web.
  • Recital ODBC driver performance improvements and bug fixes
  • Miscellaneous bug fixes 
The download is available from http://www.recitalsoftware.com in the downloads section of our website.

Existing Recital 10 users can download the patch file and apply it to an existing installation.

Enjoy!
Published in Blogs
Read more...

When you start the loadbalancer.org appliance you will see the following:

Default login:
Username: root
Password: loadbalancer

Access to webclient from an external client is:
http://192.168.1.129:9080
http://192.168.1.129:9443

You can access the web administrator using the IP and ports described onscreen.

For the sri lanka porject we are looking for performance and the network diagram indicates we are happy to have the cluster on the same subnet as the rest of the network.

Direct routing is the fasted performance possible, it has the advantage over NAT that the Loadbalancer does not become a bottleneck for incoming and outgoing packets. With DR the loadbalancer simply examines incoming packets and the servers to route the packets directly back to the requesting user.

The web interfaceis the only way to fully configure the loadbalancer vm. The console tool lbwizard will get it initiallised and any further configurations can then be done via the webinterface.

Using lbwizard for the Sri lanka configuration follow these steps.

On the first Loadbalancer:

//Start

Is this unit part for a HA Pair?
YES

Have you already setup the Slave?
NO

Is this a one-armed configuration?
YES

Enter the IP Address for the interface eth0?
Enter IP address you wish to be assigned to the SLAVE loadbalancer.

Enter the netmask for interface eth0?
Enter netmask for the subnet.

Enter the Floating IP adrress?
Enter the IP address that will be IP assosiacted the the HA-pair of loadbalancers.

//Finish

On the 2nd loadbalancer VM, run the lbwizard.

//Start

Is this unit part of an HA-Pair?
YES

Have you already set up the Slave?
YES

What is the slave units UP address?
Enter the IP which you entered when configuring the other loadbalancer VM.

Is this a one-armed configuration?
YES

Enter the IP Address for the interface eth0?
Enter the IP that will be assigned to the MASTER loadbalancer

Enter the netmask for interface eth0?
Enter the subnet netmask.

Enter the Floating IP address?
Enter the IP address that will be IP assosiacted the the HA-pair of loadbalancers.

Enter the address of the default gateway?
Enter the deafult gateway for the subnet.

Enter the IP of the nameserver?
Enter the dns server.

Enter the port for the first Virtual server?
Enter 22 for ssh

Enter the IP address of the first real server?
Enter the real IP of the first appserver

//Finish

Now this is complete we need to go to the web admin interface to configure the 2nd Real Server. As the lbwizard program will only allow you to configure 1 real server.

Now login to the web admin using the default password:

username: loadbalancer
password: loadbalancer

Note: Connect to the IP you have now set for your master loadbalancer

Goto the edit configuration tab

Now click add a real server:

Enter a label
IP address of the server plus the port of the service i.e. 192.168.1.125:22


Edit Configuration -> Virtual Servers

persistancte -> NO

Scheduler-> LC
LC - Least-Connection: assign more jobs to real servers with
fewer active jobs.

Service to check -> custom1

Check port -> 22

Forwarding Method -> DR

Feedback Method -> Agent

Arp Problem when using DR

Every real server must be configured to respond to the VIP address as well as the RIP
address.

You can use iptables (netfilter) on the real server to re-direct incoming packets destined for the virtual
server IP address.

This is a simple case of adding the following command to your start up script (rc.local):

//replace 10.0.0.21 with the Virtual Server IP
iptables -t nat -A PREROUTING -p tcp -d 10.0.0.21 -j REDIRECT

chkconfig iptables on

Published in Blogs
Read more...
I Just added a few new functions to the latest 10.0.1 patch release which should be generally available next week.
  1. New MD5( expC ) function to calculate an MD5 crypto key from any character expression
  2. New MD5FILE( expC ) function calculates an MD5 crypto key for a given filename. If the filename is a pattern e.g *.* it will calculate the key across all files matching the pattern
  3. New mod_recital.so available for using Recital Web on linux x86_32
  4. New mod_recital64.so available for using Recital Web on linux x86_64 
Published in Blogs
Read more...
After installing nomachine, if you get an error connecting whereby nomachine errors out after  "Negotiating link parameters"
 

When installing nomachine on redhat 5.3 64-bit be sure to:

  1. Make sure you have installed the 64-bit packages as the 32-bit ones will not work.
  2. add the hostname to /etc/hosts
  3. Check "Disable encryption of all traffic" (in configuration / advanced tab)
On Centos 32-bit:
  1. add the hostname to /etc/hosts
  2. make sure the host IP is not specified as 127.0.0.1 line
  3. Uncheck "Disable encryption of all traffic" (in configuration / advanced tab)
 
Published in Blogs
Read more...

In this article Barry Mavin explains step by step how to setup a Linux HA (High Availability) cluster for the running of Recital applications on Redhat/Centos 5.3 although the general configuration should work for other linux versions with a few minor changes.

Published in Blogs
Read more...

Copyright © 2025 Recital Software Inc.

Login

Register

User Registration
or Cancel